Skip to main content

ghast_data/generated/v1_8/
blocks.rs

1//! 1.8 block table: per-block info, per-state (`id << 4 | meta`) collision shape index.
2//!
3//! @generated by `cargo run -p ghast-codegen-data` from PrismarineJS minecraft-data 3.119.0 — do not edit.
4//! Sources: pc/1.8/blocks.json, pc/1.8/blockCollisionShapes.json, codegen/data/src/facts.rs.
5
6#![allow(clippy::all, clippy::pedantic, clippy::nursery, missing_docs)]
7
8use crate::common::*;
9use crate::v1_8::{Material, MaterialKind, VanillaProps};
10
11pub(crate) static BLOCKS: [BlockInfo; 198] = [
12    BlockInfo { id: 0, name: "air", display_name: "Air", hardness: Some(0.0), resistance: 0.0, stack_size: 0, diggable: false, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
13    BlockInfo { id: 1, name: "stone", display_name: "Stone", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 4, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
14    BlockInfo { id: 2, name: "grass", display_name: "Grass Block", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
15    BlockInfo { id: 3, name: "dirt", display_name: "Dirt", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
16    BlockInfo { id: 4, name: "cobblestone", display_name: "Cobblestone", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 4, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
17    BlockInfo { id: 5, name: "planks", display_name: "Wood Planks", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 5, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
18    BlockInfo { id: 6, name: "sapling", display_name: "Sapling", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 6, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
19    BlockInfo { id: 7, name: "bedrock", display_name: "Bedrock", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 7, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
20    BlockInfo { id: 8, name: "flowing_water", display_name: "Water", hardness: Some(100.0), resistance: 100.0, stack_size: 64, diggable: false, transparent: true, emit_light: 0, filter_light: 2, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0002) } },
21    BlockInfo { id: 9, name: "water", display_name: "Stationary Water", hardness: Some(100.0), resistance: 100.0, stack_size: 64, diggable: false, transparent: true, emit_light: 0, filter_light: 2, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0002) } },
22    BlockInfo { id: 10, name: "flowing_lava", display_name: "Lava", hardness: Some(100.0), resistance: 100.0, stack_size: 64, diggable: false, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0004) } },
23    BlockInfo { id: 11, name: "lava", display_name: "Stationary Lava", hardness: Some(100.0), resistance: 100.0, stack_size: 64, diggable: false, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0004) } },
24    BlockInfo { id: 12, name: "sand", display_name: "Sand", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 12, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
25    BlockInfo { id: 13, name: "gravel", display_name: "Gravel", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 13, meta: None, min: 1, max: 1 }, Drop { item: 318, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
26    BlockInfo { id: 14, name: "gold_ore", display_name: "Gold Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 14, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
27    BlockInfo { id: 15, name: "iron_ore", display_name: "Iron Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 15, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
28    BlockInfo { id: 16, name: "coal_ore", display_name: "Coal Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 263, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
29    BlockInfo { id: 17, name: "log", display_name: "Wood", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 17, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
30    BlockInfo { id: 18, name: "leaves", display_name: "Leaves", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Leaves), harvest_tools: &[], drops: &[Drop { item: 6, meta: None, min: 0, max: 1 }, Drop { item: 260, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
31    BlockInfo { id: 19, name: "sponge", display_name: "Sponge", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 19, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
32    BlockInfo { id: 20, name: "glass", display_name: "Glass", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
33    BlockInfo { id: 21, name: "lapis_ore", display_name: "Lapis Lazuli Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 351, meta: Some(4), min: 4, max: 8 }], physics: BlockPhysics::DEFAULT },
34    BlockInfo { id: 22, name: "lapis_block", display_name: "Lapis Lazuli Block", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 22, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
35    BlockInfo { id: 23, name: "dispenser", display_name: "Dispenser", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 23, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
36    BlockInfo { id: 24, name: "sandstone", display_name: "Sandstone", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 24, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
37    BlockInfo { id: 25, name: "noteblock", display_name: "Note Block", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 25, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
38    BlockInfo { id: 26, name: "bed", display_name: "Bed", hardness: Some(0.2), resistance: 0.2, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 26, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
39    BlockInfo { id: 27, name: "golden_rail", display_name: "Powered Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 27, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
40    BlockInfo { id: 28, name: "detector_rail", display_name: "Detector Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 28, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
41    BlockInfo { id: 29, name: "sticky_piston", display_name: "Sticky Piston", hardness: Some(0.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 29, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
42    BlockInfo { id: 30, name: "web", display_name: "Cobweb", hardness: Some(4.0), resistance: 4.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Web), harvest_tools: &[267, 268, 272, 276, 283, 359], drops: &[Drop { item: 287, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [0.25, 0.05000000074505806, 0.25], flags: PhysicsFlags(0x0008) } },
43    BlockInfo { id: 31, name: "tallgrass", display_name: "Grass", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 295, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
44    BlockInfo { id: 32, name: "deadbush", display_name: "Dead Bush", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 32, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
45    BlockInfo { id: 33, name: "piston", display_name: "Piston", hardness: Some(0.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 33, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
46    BlockInfo { id: 34, name: "piston_head", display_name: "Piston Head", hardness: Some(0.5), resistance: 0.0, stack_size: 0, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 34, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
47    BlockInfo { id: 35, name: "wool", display_name: "Wool", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wool), harvest_tools: &[], drops: &[Drop { item: 35, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
48    BlockInfo { id: 36, name: "piston_extension", display_name: "Block moved by Piston", hardness: None, resistance: 0.0, stack_size: 0, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 36, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
49    BlockInfo { id: 37, name: "yellow_flower", display_name: "Dandelion", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 37, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
50    BlockInfo { id: 38, name: "red_flower", display_name: "Poppy", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 38, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
51    BlockInfo { id: 39, name: "brown_mushroom", display_name: "Brown Mushroom", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 1, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 39, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
52    BlockInfo { id: 40, name: "red_mushroom", display_name: "Red Mushroom", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 1, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 40, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
53    BlockInfo { id: 41, name: "gold_block", display_name: "Block of Gold", hardness: Some(3.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 41, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
54    BlockInfo { id: 42, name: "iron_block", display_name: "Block of Iron", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 274, 278], drops: &[Drop { item: 42, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
55    BlockInfo { id: 43, name: "double_stone_slab", display_name: "Double Stone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
56    BlockInfo { id: 44, name: "stone_slab", display_name: "Stone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
57    BlockInfo { id: 45, name: "brick_block", display_name: "Bricks", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 45, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
58    BlockInfo { id: 46, name: "tnt", display_name: "TNT", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 46, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
59    BlockInfo { id: 47, name: "bookshelf", display_name: "Bookshelf", hardness: Some(1.5), resistance: 1.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 340, meta: None, min: 3, max: 3 }], physics: BlockPhysics::DEFAULT },
60    BlockInfo { id: 48, name: "mossy_cobblestone", display_name: "Moss Stone", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 48, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
61    BlockInfo { id: 49, name: "obsidian", display_name: "Obsidian", hardness: Some(50.0), resistance: 1200.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[278], drops: &[Drop { item: 49, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
62    BlockInfo { id: 50, name: "torch", display_name: "Torch", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 14, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 50, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
63    BlockInfo { id: 51, name: "fire", display_name: "Fire", hardness: Some(0.0), resistance: 0.0, stack_size: 0, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
64    BlockInfo { id: 52, name: "mob_spawner", display_name: "Monster Spawner", hardness: Some(5.0), resistance: 5.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 52, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
65    BlockInfo { id: 53, name: "oak_stairs", display_name: "Oak Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 53, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
66    BlockInfo { id: 54, name: "chest", display_name: "Chest", hardness: Some(2.5), resistance: 2.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 54, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
67    BlockInfo { id: 55, name: "redstone_wire", display_name: "Redstone Wire", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 55, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
68    BlockInfo { id: 56, name: "diamond_ore", display_name: "Diamond Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 264, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
69    BlockInfo { id: 57, name: "diamond_block", display_name: "Block of Diamond", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 57, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
70    BlockInfo { id: 58, name: "crafting_table", display_name: "Crafting Table", hardness: Some(2.5), resistance: 2.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 58, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
71    BlockInfo { id: 59, name: "wheat", display_name: "Wheat", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 296, meta: None, min: 1, max: 1 }, Drop { item: 295, meta: None, min: 0, max: 3 }], physics: BlockPhysics::DEFAULT },
72    BlockInfo { id: 60, name: "farmland", display_name: "Farmland", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
73    BlockInfo { id: 61, name: "furnace", display_name: "Furnace", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: true, emit_light: 13, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 61, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
74    BlockInfo { id: 62, name: "lit_furnace", display_name: "Burning Furnace", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: true, emit_light: 13, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 62, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
75    BlockInfo { id: 63, name: "standing_sign", display_name: "Standing Sign", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 63, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
76    BlockInfo { id: 64, name: "wooden_door", display_name: "Oak Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 64, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
77    BlockInfo { id: 65, name: "ladder", display_name: "Ladder", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 65, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0001) } },
78    BlockInfo { id: 66, name: "rail", display_name: "Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 66, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
79    BlockInfo { id: 67, name: "stone_stairs", display_name: "Cobblestone Stairs", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 67, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
80    BlockInfo { id: 68, name: "wall_sign", display_name: "Wall Sign", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 68, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
81    BlockInfo { id: 69, name: "lever", display_name: "Lever", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 69, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
82    BlockInfo { id: 70, name: "stone_pressure_plate", display_name: "Stone Pressure Plate", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 70, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
83    BlockInfo { id: 71, name: "iron_door", display_name: "Iron Door", hardness: Some(5.0), resistance: 5.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 71, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
84    BlockInfo { id: 72, name: "wooden_pressure_plate", display_name: "Wooden Pressure Plate", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 72, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
85    BlockInfo { id: 73, name: "redstone_ore", display_name: "Redstone Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 9, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 331, meta: None, min: 4, max: 5 }], physics: BlockPhysics::DEFAULT },
86    BlockInfo { id: 74, name: "lit_redstone_ore", display_name: "Glowing Redstone Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 9, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 331, meta: None, min: 4, max: 5 }], physics: BlockPhysics::DEFAULT },
87    BlockInfo { id: 75, name: "unlit_redstone_torch", display_name: "Redstone Torch (inactive)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 7, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 75, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
88    BlockInfo { id: 76, name: "redstone_torch", display_name: "Redstone Torch (active)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 7, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 76, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
89    BlockInfo { id: 77, name: "stone_button", display_name: "Stone Button", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 77, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
90    BlockInfo { id: 78, name: "snow_layer", display_name: "Snow (layer)", hardness: Some(0.2), resistance: 0.1, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[256, 269, 273, 277, 284], drops: &[Drop { item: 332, meta: None, min: 2, max: 9 }], physics: BlockPhysics::DEFAULT },
91    BlockInfo { id: 79, name: "ice", display_name: "Ice", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 2, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.98, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0000) } },
92    BlockInfo { id: 80, name: "snow", display_name: "Snow", hardness: Some(0.2), resistance: 0.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[256, 269, 273, 277, 284], drops: &[Drop { item: 332, meta: None, min: 4, max: 4 }], physics: BlockPhysics::DEFAULT },
93    BlockInfo { id: 81, name: "cactus", display_name: "Cactus", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 81, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
94    BlockInfo { id: 82, name: "clay", display_name: "Clay", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 337, meta: None, min: 4, max: 4 }], physics: BlockPhysics::DEFAULT },
95    BlockInfo { id: 83, name: "reeds", display_name: "Sugar Cane", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 83, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
96    BlockInfo { id: 84, name: "jukebox", display_name: "Jukebox", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 84, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
97    BlockInfo { id: 85, name: "fence", display_name: "Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 85, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
98    BlockInfo { id: 86, name: "pumpkin", display_name: "Pumpkin", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 86, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
99    BlockInfo { id: 87, name: "netherrack", display_name: "Netherrack", hardness: Some(0.4), resistance: 0.4, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 87, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
100    BlockInfo { id: 88, name: "soul_sand", display_name: "Soul Sand", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 88, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 0.4, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0100) } },
101    BlockInfo { id: 89, name: "glowstone", display_name: "Glowstone", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 348, meta: None, min: 2, max: 4 }], physics: BlockPhysics::DEFAULT },
102    BlockInfo { id: 90, name: "portal", display_name: "Nether Portal", hardness: None, resistance: -1.0, stack_size: 0, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 90, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
103    BlockInfo { id: 91, name: "lit_pumpkin", display_name: "Jack o'Lantern", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 91, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
104    BlockInfo { id: 92, name: "cake", display_name: "Cake", hardness: Some(0.5), resistance: 0.5, stack_size: 1, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
105    BlockInfo { id: 93, name: "unpowered_repeater", display_name: "Redstone Repeater (inactive)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 93, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
106    BlockInfo { id: 94, name: "powered_repeater", display_name: "Redstone Repeater (active)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 94, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
107    BlockInfo { id: 95, name: "stained_glass", display_name: "Stained Glass", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
108    BlockInfo { id: 96, name: "trapdoor", display_name: "Trapdoor", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 96, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x1000) } },
109    BlockInfo { id: 97, name: "monster_egg", display_name: "Monster Egg", hardness: Some(0.75), resistance: 0.75, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
110    BlockInfo { id: 98, name: "stonebrick", display_name: "Stone Bricks", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 98, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
111    BlockInfo { id: 99, name: "brown_mushroom_block", display_name: "Brown Mushroom (block)", hardness: Some(0.0), resistance: 0.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 40, meta: None, min: 0, max: 2 }], physics: BlockPhysics::DEFAULT },
112    BlockInfo { id: 100, name: "red_mushroom_block", display_name: "Red Mushroom (block)", hardness: Some(0.0), resistance: 0.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 40, meta: None, min: 0, max: 2 }], physics: BlockPhysics::DEFAULT },
113    BlockInfo { id: 101, name: "iron_bars", display_name: "Iron Bars", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 101, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
114    BlockInfo { id: 102, name: "glass_pane", display_name: "Glass Pane", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
115    BlockInfo { id: 103, name: "melon_block", display_name: "Melon", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 360, meta: None, min: 3, max: 7 }], physics: BlockPhysics::DEFAULT },
116    BlockInfo { id: 104, name: "pumpkin_stem", display_name: "Pumpkin Stem", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 104, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
117    BlockInfo { id: 105, name: "melon_stem", display_name: "Melon Stem", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 105, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
118    BlockInfo { id: 106, name: "vine", display_name: "Vines", hardness: Some(0.2), resistance: 0.2, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 106, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0001) } },
119    BlockInfo { id: 107, name: "fence_gate", display_name: "Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 107, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
120    BlockInfo { id: 108, name: "brick_stairs", display_name: "Brick Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 108, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
121    BlockInfo { id: 109, name: "stone_brick_stairs", display_name: "Stone Brick Stairs", hardness: Some(1.5), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 109, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
122    BlockInfo { id: 110, name: "mycelium", display_name: "Mycelium", hardness: Some(0.6), resistance: 0.6, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Dirt), harvest_tools: &[], drops: &[Drop { item: 3, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
123    BlockInfo { id: 111, name: "waterlily", display_name: "Lily Pad", hardness: Some(0.6), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 111, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
124    BlockInfo { id: 112, name: "nether_brick", display_name: "Nether Brick", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 112, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
125    BlockInfo { id: 113, name: "nether_brick_fence", display_name: "Nether Brick Fence", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 113, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
126    BlockInfo { id: 114, name: "nether_brick_stairs", display_name: "Nether Brick Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 114, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
127    BlockInfo { id: 115, name: "nether_wart", display_name: "Nether Wart", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 372, meta: None, min: 1, max: 1 }, Drop { item: 372, meta: None, min: 2, max: 4 }], physics: BlockPhysics::DEFAULT },
128    BlockInfo { id: 116, name: "enchanting_table", display_name: "Enchantment Table", hardness: Some(5.0), resistance: 1200.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 116, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
129    BlockInfo { id: 117, name: "brewing_stand", display_name: "Brewing Stand", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 1, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 117, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
130    BlockInfo { id: 118, name: "cauldron", display_name: "Cauldron", hardness: Some(2.0), resistance: 2.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 118, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
131    BlockInfo { id: 119, name: "end_portal", display_name: "End Portal", hardness: None, resistance: 3600000.0, stack_size: 0, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 119, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
132    BlockInfo { id: 120, name: "end_portal_frame", display_name: "End Portal Block", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: true, emit_light: 1, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 120, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
133    BlockInfo { id: 121, name: "end_stone", display_name: "End Stone", hardness: Some(3.0), resistance: 9.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 121, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
134    BlockInfo { id: 122, name: "dragon_egg", display_name: "Dragon Egg", hardness: Some(3.0), resistance: 9.0, stack_size: 64, diggable: true, transparent: true, emit_light: 1, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 122, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
135    BlockInfo { id: 123, name: "redstone_lamp", display_name: "Redstone Lamp (inactive)", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 123, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
136    BlockInfo { id: 124, name: "lit_redstone_lamp", display_name: "Redstone Lamp (active)", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 124, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
137    BlockInfo { id: 125, name: "double_wooden_slab", display_name: "Double Wooden Slab", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
138    BlockInfo { id: 126, name: "wooden_slab", display_name: "Wooden Slab", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
139    BlockInfo { id: 127, name: "cocoa", display_name: "Cocoa", hardness: Some(0.2), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 351, meta: Some(3), min: 1, max: 1 }, Drop { item: 351, meta: Some(3), min: 3, max: 3 }], physics: BlockPhysics::DEFAULT },
140    BlockInfo { id: 128, name: "sandstone_stairs", display_name: "Sandstone Stairs", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 128, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
141    BlockInfo { id: 129, name: "emerald_ore", display_name: "Emerald Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 388, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
142    BlockInfo { id: 130, name: "ender_chest", display_name: "Ender Chest", hardness: Some(22.5), resistance: 600.0, stack_size: 64, diggable: true, transparent: true, emit_light: 7, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 49, meta: None, min: 8, max: 8 }], physics: BlockPhysics::DEFAULT },
143    BlockInfo { id: 131, name: "tripwire_hook", display_name: "Tripwire Hook", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 131, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
144    BlockInfo { id: 132, name: "tripwire", display_name: "Tripwire", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 132, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
145    BlockInfo { id: 133, name: "emerald_block", display_name: "Block of Emerald", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 278], drops: &[Drop { item: 133, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
146    BlockInfo { id: 134, name: "spruce_stairs", display_name: "Spruce Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 134, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
147    BlockInfo { id: 135, name: "birch_stairs", display_name: "Birch Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 135, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
148    BlockInfo { id: 136, name: "jungle_stairs", display_name: "Jungle Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 136, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
149    BlockInfo { id: 137, name: "command_block", display_name: "Command Block", hardness: None, resistance: 3600000.0, stack_size: 64, diggable: false, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 137, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
150    BlockInfo { id: 138, name: "beacon", display_name: "Beacon", hardness: Some(3.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 138, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
151    BlockInfo { id: 139, name: "cobblestone_wall", display_name: "Cobblestone Wall", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 139, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0400) } },
152    BlockInfo { id: 140, name: "flower_pot", display_name: "Flower Pot", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 140, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
153    BlockInfo { id: 141, name: "carrots", display_name: "Carrot", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 141, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
154    BlockInfo { id: 142, name: "potatoes", display_name: "Potato", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 142, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
155    BlockInfo { id: 143, name: "wooden_button", display_name: "Wooden Button", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: None, harvest_tools: &[], drops: &[Drop { item: 143, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
156    BlockInfo { id: 144, name: "skull", display_name: "Mob head", hardness: Some(1.0), resistance: 1.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 144, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
157    BlockInfo { id: 145, name: "anvil", display_name: "Anvil", hardness: Some(5.0), resistance: 1200.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 145, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
158    BlockInfo { id: 146, name: "trapped_chest", display_name: "Trapped Chest", hardness: Some(2.5), resistance: 2.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 146, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
159    BlockInfo { id: 147, name: "light_weighted_pressure_plate", display_name: "Weighted Pressure Plate (Light)", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 147, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
160    BlockInfo { id: 148, name: "heavy_weighted_pressure_plate", display_name: "Weighted Pressure Plate (Heavy)", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 148, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
161    BlockInfo { id: 149, name: "unpowered_comparator", display_name: "Redstone Comparator", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 149, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
162    BlockInfo { id: 150, name: "powered_comparator", display_name: "Redstone Comparator (deprecated)", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 150, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
163    BlockInfo { id: 151, name: "daylight_detector", display_name: "Daylight Sensor", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 151, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
164    BlockInfo { id: 152, name: "redstone_block", display_name: "Block of Redstone", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 152, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
165    BlockInfo { id: 153, name: "quartz_ore", display_name: "Nether Quartz Ore", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 406, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
166    BlockInfo { id: 154, name: "hopper", display_name: "Hopper", hardness: Some(3.0), resistance: 4.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 154, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
167    BlockInfo { id: 155, name: "quartz_block", display_name: "Block of Quartz", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 155, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
168    BlockInfo { id: 156, name: "quartz_stairs", display_name: "Quartz Stairs", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 156, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
169    BlockInfo { id: 157, name: "activator_rail", display_name: "Activator Rail", hardness: Some(0.7), resistance: 0.7, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[Drop { item: 157, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
170    BlockInfo { id: 158, name: "dropper", display_name: "Dropper", hardness: Some(3.5), resistance: 3.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 158, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
171    BlockInfo { id: 159, name: "stained_hardened_clay", display_name: "Stained Clay", hardness: Some(1.25), resistance: 4.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 159, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
172    BlockInfo { id: 160, name: "stained_glass_pane", display_name: "Stained Glass Pane", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
173    BlockInfo { id: 161, name: "leaves2", display_name: "Leaves (Acacia/Dark Oak)", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Leaves), harvest_tools: &[], drops: &[Drop { item: 6, meta: None, min: 0, max: 1 }, Drop { item: 260, meta: None, min: 0, max: 1 }], physics: BlockPhysics::DEFAULT },
174    BlockInfo { id: 162, name: "log2", display_name: "Wood (Acacia/Dark Oak)", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 162, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
175    BlockInfo { id: 163, name: "acacia_stairs", display_name: "Acacia Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 163, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
176    BlockInfo { id: 164, name: "dark_oak_stairs", display_name: "Dark Oak Wood Stairs", hardness: Some(2.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 164, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
177    BlockInfo { id: 165, name: "slime", display_name: "Slime Block", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 165, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.8, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0010) } },
178    BlockInfo { id: 166, name: "barrier", display_name: "Barrier", hardness: None, resistance: 0.0, stack_size: 64, diggable: false, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[], physics: BlockPhysics::DEFAULT },
179    BlockInfo { id: 167, name: "iron_trapdoor", display_name: "Iron Trapdoor", hardness: Some(5.0), resistance: 5.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 167, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x1000) } },
180    BlockInfo { id: 168, name: "prismarine", display_name: "Prismarine", hardness: Some(1.5), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 168, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
181    BlockInfo { id: 169, name: "sea_lantern", display_name: "Sea Lantern", hardness: Some(0.3), resistance: 0.3, stack_size: 64, diggable: true, transparent: true, emit_light: 15, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 410, meta: None, min: 2, max: 3 }], physics: BlockPhysics::DEFAULT },
182    BlockInfo { id: 170, name: "hay_block", display_name: "Hay Bale", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 170, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
183    BlockInfo { id: 171, name: "carpet", display_name: "Carpet", hardness: Some(0.1), resistance: 0.1, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: None, harvest_tools: &[], drops: &[Drop { item: 171, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
184    BlockInfo { id: 172, name: "hardened_clay", display_name: "Hardened Clay", hardness: Some(1.25), resistance: 4.2, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 172, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
185    BlockInfo { id: 173, name: "coal_block", display_name: "Block of Coal", hardness: Some(5.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 173, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
186    BlockInfo { id: 174, name: "packed_ice", display_name: "Packed Ice", hardness: Some(0.5), resistance: 0.5, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[], drops: &[], physics: BlockPhysics { slipperiness: 0.98, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0000) } },
187    BlockInfo { id: 175, name: "double_plant", display_name: "Large Flowers", hardness: Some(0.0), resistance: 0.0, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Plant), harvest_tools: &[], drops: &[Drop { item: 175, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
188    BlockInfo { id: 176, name: "standing_banner", display_name: "Standing Banner", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 176, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
189    BlockInfo { id: 177, name: "wall_banner", display_name: "Wall Banner", hardness: Some(1.0), resistance: 1.0, stack_size: 16, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Empty, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 177, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
190    BlockInfo { id: 178, name: "daylight_detector_inverted", display_name: "Inverted Daylight Sensor", hardness: Some(0.2), resistance: 0.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 178, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
191    BlockInfo { id: 179, name: "red_sandstone", display_name: "Red Sandstone", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: false, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 179, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
192    BlockInfo { id: 180, name: "red_sandstone_stairs", display_name: "Red Sandstone Stairs", hardness: Some(0.8), resistance: 0.8, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 15, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 180, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
193    BlockInfo { id: 181, name: "double_stone_slab2", display_name: "Double Red Sandstone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
194    BlockInfo { id: 182, name: "stone_slab2", display_name: "Red Sandstone Slab", hardness: Some(2.0), resistance: 6.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Rock), harvest_tools: &[257, 270, 274, 278, 285], drops: &[Drop { item: 44, meta: Some(0), min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
195    BlockInfo { id: 183, name: "spruce_fence_gate", display_name: "Spruce Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 183, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
196    BlockInfo { id: 184, name: "birch_fence_gate", display_name: "Birch Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 184, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
197    BlockInfo { id: 185, name: "jungle_fence_gate", display_name: "Jungle Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 185, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
198    BlockInfo { id: 186, name: "dark_oak_fence_gate", display_name: "Dark Oak Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 186, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
199    BlockInfo { id: 187, name: "acacia_fence_gate", display_name: "Acacia Fence Gate", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 187, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0800) } },
200    BlockInfo { id: 188, name: "spruce_fence", display_name: "Spruce Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 188, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
201    BlockInfo { id: 189, name: "birch_fence", display_name: "Birch Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 189, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
202    BlockInfo { id: 190, name: "jungle_fence", display_name: "Jungle Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 190, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
203    BlockInfo { id: 191, name: "dark_oak_fence", display_name: "Dark Oak Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 191, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
204    BlockInfo { id: 192, name: "acacia_fence", display_name: "Acacia Fence", hardness: Some(2.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 192, meta: None, min: 1, max: 1 }], physics: BlockPhysics { slipperiness: 0.6, speed_factor: 1.0, jump_factor: 1.0, stuck_multiplier: [1.0, 1.0, 1.0], flags: PhysicsFlags(0x0200) } },
205    BlockInfo { id: 193, name: "spruce_door", display_name: "Spruce Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 193, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
206    BlockInfo { id: 194, name: "birch_door", display_name: "Birch Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 194, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
207    BlockInfo { id: 195, name: "jungle_door", display_name: "Jungle Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 195, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
208    BlockInfo { id: 196, name: "acacia_door", display_name: "Acacia Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 196, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
209    BlockInfo { id: 197, name: "dark_oak_door", display_name: "Dark Oak Door", hardness: Some(3.0), resistance: 3.0, stack_size: 64, diggable: true, transparent: true, emit_light: 0, filter_light: 0, bounding_box: BoundingBox::Block, material: Some(DigMaterial::Wood), harvest_tools: &[], drops: &[Drop { item: 197, meta: None, min: 1, max: 1 }], physics: BlockPhysics::DEFAULT },
210];
211
212pub(crate) static BLOCK_NAMES: [(&str, u8); 198] = [
213    ("acacia_door", 196),
214    ("acacia_fence", 192),
215    ("acacia_fence_gate", 187),
216    ("acacia_stairs", 163),
217    ("activator_rail", 157),
218    ("air", 0),
219    ("anvil", 145),
220    ("barrier", 166),
221    ("beacon", 138),
222    ("bed", 26),
223    ("bedrock", 7),
224    ("birch_door", 194),
225    ("birch_fence", 189),
226    ("birch_fence_gate", 184),
227    ("birch_stairs", 135),
228    ("bookshelf", 47),
229    ("brewing_stand", 117),
230    ("brick_block", 45),
231    ("brick_stairs", 108),
232    ("brown_mushroom", 39),
233    ("brown_mushroom_block", 99),
234    ("cactus", 81),
235    ("cake", 92),
236    ("carpet", 171),
237    ("carrots", 141),
238    ("cauldron", 118),
239    ("chest", 54),
240    ("clay", 82),
241    ("coal_block", 173),
242    ("coal_ore", 16),
243    ("cobblestone", 4),
244    ("cobblestone_wall", 139),
245    ("cocoa", 127),
246    ("command_block", 137),
247    ("crafting_table", 58),
248    ("dark_oak_door", 197),
249    ("dark_oak_fence", 191),
250    ("dark_oak_fence_gate", 186),
251    ("dark_oak_stairs", 164),
252    ("daylight_detector", 151),
253    ("daylight_detector_inverted", 178),
254    ("deadbush", 32),
255    ("detector_rail", 28),
256    ("diamond_block", 57),
257    ("diamond_ore", 56),
258    ("dirt", 3),
259    ("dispenser", 23),
260    ("double_plant", 175),
261    ("double_stone_slab", 43),
262    ("double_stone_slab2", 181),
263    ("double_wooden_slab", 125),
264    ("dragon_egg", 122),
265    ("dropper", 158),
266    ("emerald_block", 133),
267    ("emerald_ore", 129),
268    ("enchanting_table", 116),
269    ("end_portal", 119),
270    ("end_portal_frame", 120),
271    ("end_stone", 121),
272    ("ender_chest", 130),
273    ("farmland", 60),
274    ("fence", 85),
275    ("fence_gate", 107),
276    ("fire", 51),
277    ("flower_pot", 140),
278    ("flowing_lava", 10),
279    ("flowing_water", 8),
280    ("furnace", 61),
281    ("glass", 20),
282    ("glass_pane", 102),
283    ("glowstone", 89),
284    ("gold_block", 41),
285    ("gold_ore", 14),
286    ("golden_rail", 27),
287    ("grass", 2),
288    ("gravel", 13),
289    ("hardened_clay", 172),
290    ("hay_block", 170),
291    ("heavy_weighted_pressure_plate", 148),
292    ("hopper", 154),
293    ("ice", 79),
294    ("iron_bars", 101),
295    ("iron_block", 42),
296    ("iron_door", 71),
297    ("iron_ore", 15),
298    ("iron_trapdoor", 167),
299    ("jukebox", 84),
300    ("jungle_door", 195),
301    ("jungle_fence", 190),
302    ("jungle_fence_gate", 185),
303    ("jungle_stairs", 136),
304    ("ladder", 65),
305    ("lapis_block", 22),
306    ("lapis_ore", 21),
307    ("lava", 11),
308    ("leaves", 18),
309    ("leaves2", 161),
310    ("lever", 69),
311    ("light_weighted_pressure_plate", 147),
312    ("lit_furnace", 62),
313    ("lit_pumpkin", 91),
314    ("lit_redstone_lamp", 124),
315    ("lit_redstone_ore", 74),
316    ("log", 17),
317    ("log2", 162),
318    ("melon_block", 103),
319    ("melon_stem", 105),
320    ("mob_spawner", 52),
321    ("monster_egg", 97),
322    ("mossy_cobblestone", 48),
323    ("mycelium", 110),
324    ("nether_brick", 112),
325    ("nether_brick_fence", 113),
326    ("nether_brick_stairs", 114),
327    ("nether_wart", 115),
328    ("netherrack", 87),
329    ("noteblock", 25),
330    ("oak_stairs", 53),
331    ("obsidian", 49),
332    ("packed_ice", 174),
333    ("piston", 33),
334    ("piston_extension", 36),
335    ("piston_head", 34),
336    ("planks", 5),
337    ("portal", 90),
338    ("potatoes", 142),
339    ("powered_comparator", 150),
340    ("powered_repeater", 94),
341    ("prismarine", 168),
342    ("pumpkin", 86),
343    ("pumpkin_stem", 104),
344    ("quartz_block", 155),
345    ("quartz_ore", 153),
346    ("quartz_stairs", 156),
347    ("rail", 66),
348    ("red_flower", 38),
349    ("red_mushroom", 40),
350    ("red_mushroom_block", 100),
351    ("red_sandstone", 179),
352    ("red_sandstone_stairs", 180),
353    ("redstone_block", 152),
354    ("redstone_lamp", 123),
355    ("redstone_ore", 73),
356    ("redstone_torch", 76),
357    ("redstone_wire", 55),
358    ("reeds", 83),
359    ("sand", 12),
360    ("sandstone", 24),
361    ("sandstone_stairs", 128),
362    ("sapling", 6),
363    ("sea_lantern", 169),
364    ("skull", 144),
365    ("slime", 165),
366    ("snow", 80),
367    ("snow_layer", 78),
368    ("soul_sand", 88),
369    ("sponge", 19),
370    ("spruce_door", 193),
371    ("spruce_fence", 188),
372    ("spruce_fence_gate", 183),
373    ("spruce_stairs", 134),
374    ("stained_glass", 95),
375    ("stained_glass_pane", 160),
376    ("stained_hardened_clay", 159),
377    ("standing_banner", 176),
378    ("standing_sign", 63),
379    ("sticky_piston", 29),
380    ("stone", 1),
381    ("stone_brick_stairs", 109),
382    ("stone_button", 77),
383    ("stone_pressure_plate", 70),
384    ("stone_slab", 44),
385    ("stone_slab2", 182),
386    ("stone_stairs", 67),
387    ("stonebrick", 98),
388    ("tallgrass", 31),
389    ("tnt", 46),
390    ("torch", 50),
391    ("trapdoor", 96),
392    ("trapped_chest", 146),
393    ("tripwire", 132),
394    ("tripwire_hook", 131),
395    ("unlit_redstone_torch", 75),
396    ("unpowered_comparator", 149),
397    ("unpowered_repeater", 93),
398    ("vine", 106),
399    ("wall_banner", 177),
400    ("wall_sign", 68),
401    ("water", 9),
402    ("waterlily", 111),
403    ("web", 30),
404    ("wheat", 59),
405    ("wooden_button", 143),
406    ("wooden_door", 64),
407    ("wooden_pressure_plate", 72),
408    ("wooden_slab", 126),
409    ("wool", 35),
410    ("yellow_flower", 37),
411];
412
413/// Block constants.
414impl crate::v1_8::Block {
415    /// `air` (Air).
416    pub const AIR: Self = Self(0);
417    /// `stone` (Stone).
418    pub const STONE: Self = Self(1);
419    /// `grass` (Grass Block).
420    pub const GRASS: Self = Self(2);
421    /// `dirt` (Dirt).
422    pub const DIRT: Self = Self(3);
423    /// `cobblestone` (Cobblestone).
424    pub const COBBLESTONE: Self = Self(4);
425    /// `planks` (Wood Planks).
426    pub const PLANKS: Self = Self(5);
427    /// `sapling` (Sapling).
428    pub const SAPLING: Self = Self(6);
429    /// `bedrock` (Bedrock).
430    pub const BEDROCK: Self = Self(7);
431    /// `flowing_water` (Water).
432    pub const FLOWING_WATER: Self = Self(8);
433    /// `water` (Stationary Water).
434    pub const WATER: Self = Self(9);
435    /// `flowing_lava` (Lava).
436    pub const FLOWING_LAVA: Self = Self(10);
437    /// `lava` (Stationary Lava).
438    pub const LAVA: Self = Self(11);
439    /// `sand` (Sand).
440    pub const SAND: Self = Self(12);
441    /// `gravel` (Gravel).
442    pub const GRAVEL: Self = Self(13);
443    /// `gold_ore` (Gold Ore).
444    pub const GOLD_ORE: Self = Self(14);
445    /// `iron_ore` (Iron Ore).
446    pub const IRON_ORE: Self = Self(15);
447    /// `coal_ore` (Coal Ore).
448    pub const COAL_ORE: Self = Self(16);
449    /// `log` (Wood).
450    pub const LOG: Self = Self(17);
451    /// `leaves` (Leaves).
452    pub const LEAVES: Self = Self(18);
453    /// `sponge` (Sponge).
454    pub const SPONGE: Self = Self(19);
455    /// `glass` (Glass).
456    pub const GLASS: Self = Self(20);
457    /// `lapis_ore` (Lapis Lazuli Ore).
458    pub const LAPIS_ORE: Self = Self(21);
459    /// `lapis_block` (Lapis Lazuli Block).
460    pub const LAPIS_BLOCK: Self = Self(22);
461    /// `dispenser` (Dispenser).
462    pub const DISPENSER: Self = Self(23);
463    /// `sandstone` (Sandstone).
464    pub const SANDSTONE: Self = Self(24);
465    /// `noteblock` (Note Block).
466    pub const NOTEBLOCK: Self = Self(25);
467    /// `bed` (Bed).
468    pub const BED: Self = Self(26);
469    /// `golden_rail` (Powered Rail).
470    pub const GOLDEN_RAIL: Self = Self(27);
471    /// `detector_rail` (Detector Rail).
472    pub const DETECTOR_RAIL: Self = Self(28);
473    /// `sticky_piston` (Sticky Piston).
474    pub const STICKY_PISTON: Self = Self(29);
475    /// `web` (Cobweb).
476    pub const WEB: Self = Self(30);
477    /// `tallgrass` (Grass).
478    pub const TALLGRASS: Self = Self(31);
479    /// `deadbush` (Dead Bush).
480    pub const DEADBUSH: Self = Self(32);
481    /// `piston` (Piston).
482    pub const PISTON: Self = Self(33);
483    /// `piston_head` (Piston Head).
484    pub const PISTON_HEAD: Self = Self(34);
485    /// `wool` (Wool).
486    pub const WOOL: Self = Self(35);
487    /// `piston_extension` (Block moved by Piston).
488    pub const PISTON_EXTENSION: Self = Self(36);
489    /// `yellow_flower` (Dandelion).
490    pub const YELLOW_FLOWER: Self = Self(37);
491    /// `red_flower` (Poppy).
492    pub const RED_FLOWER: Self = Self(38);
493    /// `brown_mushroom` (Brown Mushroom).
494    pub const BROWN_MUSHROOM: Self = Self(39);
495    /// `red_mushroom` (Red Mushroom).
496    pub const RED_MUSHROOM: Self = Self(40);
497    /// `gold_block` (Block of Gold).
498    pub const GOLD_BLOCK: Self = Self(41);
499    /// `iron_block` (Block of Iron).
500    pub const IRON_BLOCK: Self = Self(42);
501    /// `double_stone_slab` (Double Stone Slab).
502    pub const DOUBLE_STONE_SLAB: Self = Self(43);
503    /// `stone_slab` (Stone Slab).
504    pub const STONE_SLAB: Self = Self(44);
505    /// `brick_block` (Bricks).
506    pub const BRICK_BLOCK: Self = Self(45);
507    /// `tnt` (TNT).
508    pub const TNT: Self = Self(46);
509    /// `bookshelf` (Bookshelf).
510    pub const BOOKSHELF: Self = Self(47);
511    /// `mossy_cobblestone` (Moss Stone).
512    pub const MOSSY_COBBLESTONE: Self = Self(48);
513    /// `obsidian` (Obsidian).
514    pub const OBSIDIAN: Self = Self(49);
515    /// `torch` (Torch).
516    pub const TORCH: Self = Self(50);
517    /// `fire` (Fire).
518    pub const FIRE: Self = Self(51);
519    /// `mob_spawner` (Monster Spawner).
520    pub const MOB_SPAWNER: Self = Self(52);
521    /// `oak_stairs` (Oak Wood Stairs).
522    pub const OAK_STAIRS: Self = Self(53);
523    /// `chest` (Chest).
524    pub const CHEST: Self = Self(54);
525    /// `redstone_wire` (Redstone Wire).
526    pub const REDSTONE_WIRE: Self = Self(55);
527    /// `diamond_ore` (Diamond Ore).
528    pub const DIAMOND_ORE: Self = Self(56);
529    /// `diamond_block` (Block of Diamond).
530    pub const DIAMOND_BLOCK: Self = Self(57);
531    /// `crafting_table` (Crafting Table).
532    pub const CRAFTING_TABLE: Self = Self(58);
533    /// `wheat` (Wheat).
534    pub const WHEAT: Self = Self(59);
535    /// `farmland` (Farmland).
536    pub const FARMLAND: Self = Self(60);
537    /// `furnace` (Furnace).
538    pub const FURNACE: Self = Self(61);
539    /// `lit_furnace` (Burning Furnace).
540    pub const LIT_FURNACE: Self = Self(62);
541    /// `standing_sign` (Standing Sign).
542    pub const STANDING_SIGN: Self = Self(63);
543    /// `wooden_door` (Oak Door).
544    pub const WOODEN_DOOR: Self = Self(64);
545    /// `ladder` (Ladder).
546    pub const LADDER: Self = Self(65);
547    /// `rail` (Rail).
548    pub const RAIL: Self = Self(66);
549    /// `stone_stairs` (Cobblestone Stairs).
550    pub const STONE_STAIRS: Self = Self(67);
551    /// `wall_sign` (Wall Sign).
552    pub const WALL_SIGN: Self = Self(68);
553    /// `lever` (Lever).
554    pub const LEVER: Self = Self(69);
555    /// `stone_pressure_plate` (Stone Pressure Plate).
556    pub const STONE_PRESSURE_PLATE: Self = Self(70);
557    /// `iron_door` (Iron Door).
558    pub const IRON_DOOR: Self = Self(71);
559    /// `wooden_pressure_plate` (Wooden Pressure Plate).
560    pub const WOODEN_PRESSURE_PLATE: Self = Self(72);
561    /// `redstone_ore` (Redstone Ore).
562    pub const REDSTONE_ORE: Self = Self(73);
563    /// `lit_redstone_ore` (Glowing Redstone Ore).
564    pub const LIT_REDSTONE_ORE: Self = Self(74);
565    /// `unlit_redstone_torch` (Redstone Torch (inactive)).
566    pub const UNLIT_REDSTONE_TORCH: Self = Self(75);
567    /// `redstone_torch` (Redstone Torch (active)).
568    pub const REDSTONE_TORCH: Self = Self(76);
569    /// `stone_button` (Stone Button).
570    pub const STONE_BUTTON: Self = Self(77);
571    /// `snow_layer` (Snow (layer)).
572    pub const SNOW_LAYER: Self = Self(78);
573    /// `ice` (Ice).
574    pub const ICE: Self = Self(79);
575    /// `snow` (Snow).
576    pub const SNOW: Self = Self(80);
577    /// `cactus` (Cactus).
578    pub const CACTUS: Self = Self(81);
579    /// `clay` (Clay).
580    pub const CLAY: Self = Self(82);
581    /// `reeds` (Sugar Cane).
582    pub const REEDS: Self = Self(83);
583    /// `jukebox` (Jukebox).
584    pub const JUKEBOX: Self = Self(84);
585    /// `fence` (Fence).
586    pub const FENCE: Self = Self(85);
587    /// `pumpkin` (Pumpkin).
588    pub const PUMPKIN: Self = Self(86);
589    /// `netherrack` (Netherrack).
590    pub const NETHERRACK: Self = Self(87);
591    /// `soul_sand` (Soul Sand).
592    pub const SOUL_SAND: Self = Self(88);
593    /// `glowstone` (Glowstone).
594    pub const GLOWSTONE: Self = Self(89);
595    /// `portal` (Nether Portal).
596    pub const PORTAL: Self = Self(90);
597    /// `lit_pumpkin` (Jack o'Lantern).
598    pub const LIT_PUMPKIN: Self = Self(91);
599    /// `cake` (Cake).
600    pub const CAKE: Self = Self(92);
601    /// `unpowered_repeater` (Redstone Repeater (inactive)).
602    pub const UNPOWERED_REPEATER: Self = Self(93);
603    /// `powered_repeater` (Redstone Repeater (active)).
604    pub const POWERED_REPEATER: Self = Self(94);
605    /// `stained_glass` (Stained Glass).
606    pub const STAINED_GLASS: Self = Self(95);
607    /// `trapdoor` (Trapdoor).
608    pub const TRAPDOOR: Self = Self(96);
609    /// `monster_egg` (Monster Egg).
610    pub const MONSTER_EGG: Self = Self(97);
611    /// `stonebrick` (Stone Bricks).
612    pub const STONEBRICK: Self = Self(98);
613    /// `brown_mushroom_block` (Brown Mushroom (block)).
614    pub const BROWN_MUSHROOM_BLOCK: Self = Self(99);
615    /// `red_mushroom_block` (Red Mushroom (block)).
616    pub const RED_MUSHROOM_BLOCK: Self = Self(100);
617    /// `iron_bars` (Iron Bars).
618    pub const IRON_BARS: Self = Self(101);
619    /// `glass_pane` (Glass Pane).
620    pub const GLASS_PANE: Self = Self(102);
621    /// `melon_block` (Melon).
622    pub const MELON_BLOCK: Self = Self(103);
623    /// `pumpkin_stem` (Pumpkin Stem).
624    pub const PUMPKIN_STEM: Self = Self(104);
625    /// `melon_stem` (Melon Stem).
626    pub const MELON_STEM: Self = Self(105);
627    /// `vine` (Vines).
628    pub const VINE: Self = Self(106);
629    /// `fence_gate` (Fence Gate).
630    pub const FENCE_GATE: Self = Self(107);
631    /// `brick_stairs` (Brick Stairs).
632    pub const BRICK_STAIRS: Self = Self(108);
633    /// `stone_brick_stairs` (Stone Brick Stairs).
634    pub const STONE_BRICK_STAIRS: Self = Self(109);
635    /// `mycelium` (Mycelium).
636    pub const MYCELIUM: Self = Self(110);
637    /// `waterlily` (Lily Pad).
638    pub const WATERLILY: Self = Self(111);
639    /// `nether_brick` (Nether Brick).
640    pub const NETHER_BRICK: Self = Self(112);
641    /// `nether_brick_fence` (Nether Brick Fence).
642    pub const NETHER_BRICK_FENCE: Self = Self(113);
643    /// `nether_brick_stairs` (Nether Brick Stairs).
644    pub const NETHER_BRICK_STAIRS: Self = Self(114);
645    /// `nether_wart` (Nether Wart).
646    pub const NETHER_WART: Self = Self(115);
647    /// `enchanting_table` (Enchantment Table).
648    pub const ENCHANTING_TABLE: Self = Self(116);
649    /// `brewing_stand` (Brewing Stand).
650    pub const BREWING_STAND: Self = Self(117);
651    /// `cauldron` (Cauldron).
652    pub const CAULDRON: Self = Self(118);
653    /// `end_portal` (End Portal).
654    pub const END_PORTAL: Self = Self(119);
655    /// `end_portal_frame` (End Portal Block).
656    pub const END_PORTAL_FRAME: Self = Self(120);
657    /// `end_stone` (End Stone).
658    pub const END_STONE: Self = Self(121);
659    /// `dragon_egg` (Dragon Egg).
660    pub const DRAGON_EGG: Self = Self(122);
661    /// `redstone_lamp` (Redstone Lamp (inactive)).
662    pub const REDSTONE_LAMP: Self = Self(123);
663    /// `lit_redstone_lamp` (Redstone Lamp (active)).
664    pub const LIT_REDSTONE_LAMP: Self = Self(124);
665    /// `double_wooden_slab` (Double Wooden Slab).
666    pub const DOUBLE_WOODEN_SLAB: Self = Self(125);
667    /// `wooden_slab` (Wooden Slab).
668    pub const WOODEN_SLAB: Self = Self(126);
669    /// `cocoa` (Cocoa).
670    pub const COCOA: Self = Self(127);
671    /// `sandstone_stairs` (Sandstone Stairs).
672    pub const SANDSTONE_STAIRS: Self = Self(128);
673    /// `emerald_ore` (Emerald Ore).
674    pub const EMERALD_ORE: Self = Self(129);
675    /// `ender_chest` (Ender Chest).
676    pub const ENDER_CHEST: Self = Self(130);
677    /// `tripwire_hook` (Tripwire Hook).
678    pub const TRIPWIRE_HOOK: Self = Self(131);
679    /// `tripwire` (Tripwire).
680    pub const TRIPWIRE: Self = Self(132);
681    /// `emerald_block` (Block of Emerald).
682    pub const EMERALD_BLOCK: Self = Self(133);
683    /// `spruce_stairs` (Spruce Wood Stairs).
684    pub const SPRUCE_STAIRS: Self = Self(134);
685    /// `birch_stairs` (Birch Wood Stairs).
686    pub const BIRCH_STAIRS: Self = Self(135);
687    /// `jungle_stairs` (Jungle Wood Stairs).
688    pub const JUNGLE_STAIRS: Self = Self(136);
689    /// `command_block` (Command Block).
690    pub const COMMAND_BLOCK: Self = Self(137);
691    /// `beacon` (Beacon).
692    pub const BEACON: Self = Self(138);
693    /// `cobblestone_wall` (Cobblestone Wall).
694    pub const COBBLESTONE_WALL: Self = Self(139);
695    /// `flower_pot` (Flower Pot).
696    pub const FLOWER_POT: Self = Self(140);
697    /// `carrots` (Carrot).
698    pub const CARROTS: Self = Self(141);
699    /// `potatoes` (Potato).
700    pub const POTATOES: Self = Self(142);
701    /// `wooden_button` (Wooden Button).
702    pub const WOODEN_BUTTON: Self = Self(143);
703    /// `skull` (Mob head).
704    pub const SKULL: Self = Self(144);
705    /// `anvil` (Anvil).
706    pub const ANVIL: Self = Self(145);
707    /// `trapped_chest` (Trapped Chest).
708    pub const TRAPPED_CHEST: Self = Self(146);
709    /// `light_weighted_pressure_plate` (Weighted Pressure Plate (Light)).
710    pub const LIGHT_WEIGHTED_PRESSURE_PLATE: Self = Self(147);
711    /// `heavy_weighted_pressure_plate` (Weighted Pressure Plate (Heavy)).
712    pub const HEAVY_WEIGHTED_PRESSURE_PLATE: Self = Self(148);
713    /// `unpowered_comparator` (Redstone Comparator).
714    pub const UNPOWERED_COMPARATOR: Self = Self(149);
715    /// `powered_comparator` (Redstone Comparator (deprecated)).
716    pub const POWERED_COMPARATOR: Self = Self(150);
717    /// `daylight_detector` (Daylight Sensor).
718    pub const DAYLIGHT_DETECTOR: Self = Self(151);
719    /// `redstone_block` (Block of Redstone).
720    pub const REDSTONE_BLOCK: Self = Self(152);
721    /// `quartz_ore` (Nether Quartz Ore).
722    pub const QUARTZ_ORE: Self = Self(153);
723    /// `hopper` (Hopper).
724    pub const HOPPER: Self = Self(154);
725    /// `quartz_block` (Block of Quartz).
726    pub const QUARTZ_BLOCK: Self = Self(155);
727    /// `quartz_stairs` (Quartz Stairs).
728    pub const QUARTZ_STAIRS: Self = Self(156);
729    /// `activator_rail` (Activator Rail).
730    pub const ACTIVATOR_RAIL: Self = Self(157);
731    /// `dropper` (Dropper).
732    pub const DROPPER: Self = Self(158);
733    /// `stained_hardened_clay` (Stained Clay).
734    pub const STAINED_HARDENED_CLAY: Self = Self(159);
735    /// `stained_glass_pane` (Stained Glass Pane).
736    pub const STAINED_GLASS_PANE: Self = Self(160);
737    /// `leaves2` (Leaves (Acacia/Dark Oak)).
738    pub const LEAVES2: Self = Self(161);
739    /// `log2` (Wood (Acacia/Dark Oak)).
740    pub const LOG2: Self = Self(162);
741    /// `acacia_stairs` (Acacia Wood Stairs).
742    pub const ACACIA_STAIRS: Self = Self(163);
743    /// `dark_oak_stairs` (Dark Oak Wood Stairs).
744    pub const DARK_OAK_STAIRS: Self = Self(164);
745    /// `slime` (Slime Block).
746    pub const SLIME: Self = Self(165);
747    /// `barrier` (Barrier).
748    pub const BARRIER: Self = Self(166);
749    /// `iron_trapdoor` (Iron Trapdoor).
750    pub const IRON_TRAPDOOR: Self = Self(167);
751    /// `prismarine` (Prismarine).
752    pub const PRISMARINE: Self = Self(168);
753    /// `sea_lantern` (Sea Lantern).
754    pub const SEA_LANTERN: Self = Self(169);
755    /// `hay_block` (Hay Bale).
756    pub const HAY_BLOCK: Self = Self(170);
757    /// `carpet` (Carpet).
758    pub const CARPET: Self = Self(171);
759    /// `hardened_clay` (Hardened Clay).
760    pub const HARDENED_CLAY: Self = Self(172);
761    /// `coal_block` (Block of Coal).
762    pub const COAL_BLOCK: Self = Self(173);
763    /// `packed_ice` (Packed Ice).
764    pub const PACKED_ICE: Self = Self(174);
765    /// `double_plant` (Large Flowers).
766    pub const DOUBLE_PLANT: Self = Self(175);
767    /// `standing_banner` (Standing Banner).
768    pub const STANDING_BANNER: Self = Self(176);
769    /// `wall_banner` (Wall Banner).
770    pub const WALL_BANNER: Self = Self(177);
771    /// `daylight_detector_inverted` (Inverted Daylight Sensor).
772    pub const DAYLIGHT_DETECTOR_INVERTED: Self = Self(178);
773    /// `red_sandstone` (Red Sandstone).
774    pub const RED_SANDSTONE: Self = Self(179);
775    /// `red_sandstone_stairs` (Red Sandstone Stairs).
776    pub const RED_SANDSTONE_STAIRS: Self = Self(180);
777    /// `double_stone_slab2` (Double Red Sandstone Slab).
778    pub const DOUBLE_STONE_SLAB2: Self = Self(181);
779    /// `stone_slab2` (Red Sandstone Slab).
780    pub const STONE_SLAB2: Self = Self(182);
781    /// `spruce_fence_gate` (Spruce Fence Gate).
782    pub const SPRUCE_FENCE_GATE: Self = Self(183);
783    /// `birch_fence_gate` (Birch Fence Gate).
784    pub const BIRCH_FENCE_GATE: Self = Self(184);
785    /// `jungle_fence_gate` (Jungle Fence Gate).
786    pub const JUNGLE_FENCE_GATE: Self = Self(185);
787    /// `dark_oak_fence_gate` (Dark Oak Fence Gate).
788    pub const DARK_OAK_FENCE_GATE: Self = Self(186);
789    /// `acacia_fence_gate` (Acacia Fence Gate).
790    pub const ACACIA_FENCE_GATE: Self = Self(187);
791    /// `spruce_fence` (Spruce Fence).
792    pub const SPRUCE_FENCE: Self = Self(188);
793    /// `birch_fence` (Birch Fence).
794    pub const BIRCH_FENCE: Self = Self(189);
795    /// `jungle_fence` (Jungle Fence).
796    pub const JUNGLE_FENCE: Self = Self(190);
797    /// `dark_oak_fence` (Dark Oak Fence).
798    pub const DARK_OAK_FENCE: Self = Self(191);
799    /// `acacia_fence` (Acacia Fence).
800    pub const ACACIA_FENCE: Self = Self(192);
801    /// `spruce_door` (Spruce Door).
802    pub const SPRUCE_DOOR: Self = Self(193);
803    /// `birch_door` (Birch Door).
804    pub const BIRCH_DOOR: Self = Self(194);
805    /// `jungle_door` (Jungle Door).
806    pub const JUNGLE_DOOR: Self = Self(195);
807    /// `acacia_door` (Acacia Door).
808    pub const ACACIA_DOOR: Self = Self(196);
809    /// `dark_oak_door` (Dark Oak Door).
810    pub const DARK_OAK_DOOR: Self = Self(197);
811}
812
813pub(crate) static SHAPES: [&[Aabb]; 93] = [
814    &[],
815    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)],
816    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5625, 1.0)],
817    &[Aabb::new(0.0, 0.25, 0.0, 1.0, 1.0, 1.0)],
818    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.75, 1.0)],
819    &[Aabb::new(0.0, 0.0, 0.25, 1.0, 1.0, 1.0)],
820    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.75)],
821    &[Aabb::new(0.25, 0.0, 0.0, 1.0, 1.0, 1.0)],
822    &[Aabb::new(0.0, 0.0, 0.0, 0.75, 1.0, 1.0)],
823    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0)],
824    &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0)],
825    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 0.5)],
826    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.5, 0.5, 0.0, 1.0, 1.0, 1.0)],
827    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.0, 0.5, 0.0, 0.5, 1.0, 1.0)],
828    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0), Aabb::new(0.0, 0.5, 0.5, 1.0, 1.0, 1.0)],
829    &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.5, 0.0, 0.0, 1.0, 0.5, 1.0)],
830    &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 0.5, 0.5, 1.0)],
831    &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.5, 1.0, 0.5, 1.0)],
832    &[Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 0.5)],
833    &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375)],
834    &[Aabb::new(0.0, 0.0, 0.8125, 1.0, 1.0, 1.0)],
835    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
836    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.1875)],
837    &[Aabb::new(0.8125, 0.0, 0.0, 1.0, 1.0, 1.0)],
838    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0)],
839    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0)],
840    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.375, 1.0)],
841    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0)],
842    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.875, 1.0)],
843    &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.9375, 0.9375)],
844    &[Aabb::new(0.375, 0.0, 0.375, 0.625, 1.5, 0.625)],
845    &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
846    &[Aabb::new(0.1875, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
847    &[Aabb::new(0.3125, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
848    &[Aabb::new(0.4375, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
849    &[Aabb::new(0.5625, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
850    &[Aabb::new(0.6875, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
851    &[Aabb::new(0.8125, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
852    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.1875, 1.0)],
853    &[Aabb::new(0.0, 0.8125, 0.0, 1.0, 1.0, 1.0)],
854    &[Aabb::new(0.0, 0.0, 0.375, 1.0, 1.5, 0.625)],
855    &[Aabb::new(0.375, 0.0, 0.0, 0.625, 1.5, 1.0)],
856    &[Aabb::new(0.4375, 0.0, 0.4375, 0.5625, 0.875, 0.5625), Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0)],
857    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.3125, 1.0), Aabb::new(0.0, 0.0, 0.0, 0.125, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.125), Aabb::new(0.875, 0.0, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.875, 1.0, 1.0, 1.0)],
858    &[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375)],
859    &[Aabb::new(0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125)],
860    &[Aabb::new(0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375)],
861    &[Aabb::new(0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625)],
862    &[Aabb::new(0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625)],
863    &[Aabb::new(0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375)],
864    &[Aabb::new(0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875)],
865    &[Aabb::new(0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375)],
866    &[Aabb::new(0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875)],
867    &[Aabb::new(0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375)],
868    &[Aabb::new(0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75)],
869    &[Aabb::new(0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625)],
870    &[Aabb::new(0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75)],
871    &[Aabb::new(0.25, 0.0, 0.25, 0.75, 1.5, 0.75)],
872    &[Aabb::new(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875)],
873    &[Aabb::new(0.25, 0.25, 0.5, 0.75, 0.75, 1.0)],
874    &[Aabb::new(0.25, 0.0, 0.25, 0.75, 0.5, 0.75)],
875    &[Aabb::new(0.25, 0.25, 0.0, 0.75, 0.75, 0.5)],
876    &[Aabb::new(0.5, 0.25, 0.25, 1.0, 0.75, 0.75)],
877    &[Aabb::new(0.0, 0.25, 0.25, 0.5, 0.75, 0.75)],
878    &[Aabb::new(0.125, 0.0, 0.0, 0.875, 1.0, 1.0)],
879    &[Aabb::new(0.0, 0.0, 0.125, 1.0, 1.0, 0.875)],
880    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0), Aabb::new(0.0, 0.0, 0.0, 0.125, 1.0, 1.0), Aabb::new(0.875, 0.0, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.125), Aabb::new(0.0, 0.0, 0.875, 1.0, 1.0, 1.0)],
881    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0625, 1.0)],
882    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.8125, 1.0)],
883    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.8125, 1.0), Aabb::new(0.3125, 0.8125, 0.3125, 0.6875, 1.0, 0.6875)],
884    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)],
885    &[Aabb::new(0.0, 0.0, 0.875, 1.0, 1.0, 1.0)],
886    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.125)],
887    &[Aabb::new(0.875, 0.0, 0.0, 1.0, 1.0, 1.0)],
888    &[Aabb::new(0.0, 0.0, 0.0, 0.125, 1.0, 1.0)],
889    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0, 1.0)],
890    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.015625, 1.0)],
891    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0), Aabb::new(0.375, 0.25, 0.375, 0.625, 1.0, 0.625)],
892    &[Aabb::new(0.0, 0.75, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.375, 0.0, 0.375, 0.625, 0.75, 0.625)],
893    &[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.25), Aabb::new(0.25, 0.375, 0.25, 0.75, 0.625, 1.0)],
894    &[Aabb::new(0.0, 0.0, 0.75, 1.0, 1.0, 1.0), Aabb::new(0.25, 0.375, 0.0, 0.75, 0.625, 0.75)],
895    &[Aabb::new(0.0, 0.0, 0.0, 0.25, 1.0, 1.0), Aabb::new(0.375, 0.25, 0.25, 0.625, 0.75, 1.0)],
896    &[Aabb::new(0.75, 0.0, 0.0, 1.0, 1.0, 1.0), Aabb::new(0.0, 0.375, 0.25, 0.75, 0.625, 0.75)],
897    &[Aabb::new(0.0, 0.0, 0.4375, 1.0, 1.0, 0.5625), Aabb::new(0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0)],
898    &[Aabb::new(0.0, 0.0, 0.4375, 1.0, 1.0, 0.5625), Aabb::new(0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0)],
899    &[Aabb::new(0.0, 0.0, 0.4375, 1.0, 1.0, 0.5625), Aabb::new(0.4375, 0.0, 0.0, 0.5625, 1.0, 1.0)],
900    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
901    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
902    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
903    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
904    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
905    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
906    &[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
907];
908
909pub(crate) static BLOCK_SHAPE_DEPENDENCY: [ShapeDependency; 198] = [
910    ShapeDependency::None,
911    ShapeDependency::None,
912    ShapeDependency::None,
913    ShapeDependency::None,
914    ShapeDependency::None,
915    ShapeDependency::None,
916    ShapeDependency::None,
917    ShapeDependency::None,
918    ShapeDependency::None,
919    ShapeDependency::None,
920    ShapeDependency::None,
921    ShapeDependency::None,
922    ShapeDependency::None,
923    ShapeDependency::None,
924    ShapeDependency::None,
925    ShapeDependency::None,
926    ShapeDependency::None,
927    ShapeDependency::None,
928    ShapeDependency::None,
929    ShapeDependency::None,
930    ShapeDependency::None,
931    ShapeDependency::None,
932    ShapeDependency::None,
933    ShapeDependency::None,
934    ShapeDependency::None,
935    ShapeDependency::None,
936    ShapeDependency::None,
937    ShapeDependency::None,
938    ShapeDependency::None,
939    ShapeDependency::None,
940    ShapeDependency::None,
941    ShapeDependency::None,
942    ShapeDependency::None,
943    ShapeDependency::None,
944    ShapeDependency::None,
945    ShapeDependency::None,
946    ShapeDependency::BlockEntity,
947    ShapeDependency::None,
948    ShapeDependency::None,
949    ShapeDependency::None,
950    ShapeDependency::None,
951    ShapeDependency::None,
952    ShapeDependency::None,
953    ShapeDependency::None,
954    ShapeDependency::None,
955    ShapeDependency::None,
956    ShapeDependency::None,
957    ShapeDependency::None,
958    ShapeDependency::None,
959    ShapeDependency::None,
960    ShapeDependency::None,
961    ShapeDependency::None,
962    ShapeDependency::None,
963    ShapeDependency::Neighbours(NeighbourShape::Stairs),
964    ShapeDependency::Neighbours(NeighbourShape::Chest),
965    ShapeDependency::None,
966    ShapeDependency::None,
967    ShapeDependency::None,
968    ShapeDependency::None,
969    ShapeDependency::None,
970    ShapeDependency::None,
971    ShapeDependency::None,
972    ShapeDependency::None,
973    ShapeDependency::None,
974    ShapeDependency::Neighbours(NeighbourShape::Door),
975    ShapeDependency::None,
976    ShapeDependency::None,
977    ShapeDependency::Neighbours(NeighbourShape::Stairs),
978    ShapeDependency::None,
979    ShapeDependency::None,
980    ShapeDependency::None,
981    ShapeDependency::Neighbours(NeighbourShape::Door),
982    ShapeDependency::None,
983    ShapeDependency::None,
984    ShapeDependency::None,
985    ShapeDependency::None,
986    ShapeDependency::None,
987    ShapeDependency::None,
988    ShapeDependency::None,
989    ShapeDependency::None,
990    ShapeDependency::None,
991    ShapeDependency::None,
992    ShapeDependency::None,
993    ShapeDependency::None,
994    ShapeDependency::None,
995    ShapeDependency::Neighbours(NeighbourShape::Fence),
996    ShapeDependency::None,
997    ShapeDependency::None,
998    ShapeDependency::None,
999    ShapeDependency::None,
1000    ShapeDependency::None,
1001    ShapeDependency::None,
1002    ShapeDependency::None,
1003    ShapeDependency::None,
1004    ShapeDependency::None,
1005    ShapeDependency::None,
1006    ShapeDependency::None,
1007    ShapeDependency::None,
1008    ShapeDependency::None,
1009    ShapeDependency::None,
1010    ShapeDependency::None,
1011    ShapeDependency::Neighbours(NeighbourShape::Pane),
1012    ShapeDependency::Neighbours(NeighbourShape::Pane),
1013    ShapeDependency::None,
1014    ShapeDependency::None,
1015    ShapeDependency::None,
1016    ShapeDependency::None,
1017    ShapeDependency::None,
1018    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1019    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1020    ShapeDependency::None,
1021    ShapeDependency::None,
1022    ShapeDependency::None,
1023    ShapeDependency::Neighbours(NeighbourShape::Fence),
1024    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1025    ShapeDependency::None,
1026    ShapeDependency::None,
1027    ShapeDependency::None,
1028    ShapeDependency::None,
1029    ShapeDependency::None,
1030    ShapeDependency::None,
1031    ShapeDependency::None,
1032    ShapeDependency::None,
1033    ShapeDependency::None,
1034    ShapeDependency::None,
1035    ShapeDependency::None,
1036    ShapeDependency::None,
1037    ShapeDependency::None,
1038    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1039    ShapeDependency::None,
1040    ShapeDependency::None,
1041    ShapeDependency::None,
1042    ShapeDependency::None,
1043    ShapeDependency::None,
1044    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1045    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1046    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1047    ShapeDependency::None,
1048    ShapeDependency::None,
1049    ShapeDependency::Neighbours(NeighbourShape::Wall),
1050    ShapeDependency::None,
1051    ShapeDependency::None,
1052    ShapeDependency::None,
1053    ShapeDependency::None,
1054    ShapeDependency::None,
1055    ShapeDependency::None,
1056    ShapeDependency::Neighbours(NeighbourShape::Chest),
1057    ShapeDependency::None,
1058    ShapeDependency::None,
1059    ShapeDependency::None,
1060    ShapeDependency::None,
1061    ShapeDependency::None,
1062    ShapeDependency::None,
1063    ShapeDependency::None,
1064    ShapeDependency::None,
1065    ShapeDependency::None,
1066    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1067    ShapeDependency::None,
1068    ShapeDependency::None,
1069    ShapeDependency::None,
1070    ShapeDependency::Neighbours(NeighbourShape::Pane),
1071    ShapeDependency::None,
1072    ShapeDependency::None,
1073    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1074    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1075    ShapeDependency::None,
1076    ShapeDependency::None,
1077    ShapeDependency::None,
1078    ShapeDependency::None,
1079    ShapeDependency::None,
1080    ShapeDependency::None,
1081    ShapeDependency::None,
1082    ShapeDependency::None,
1083    ShapeDependency::None,
1084    ShapeDependency::None,
1085    ShapeDependency::None,
1086    ShapeDependency::None,
1087    ShapeDependency::None,
1088    ShapeDependency::None,
1089    ShapeDependency::None,
1090    ShapeDependency::Neighbours(NeighbourShape::Stairs),
1091    ShapeDependency::None,
1092    ShapeDependency::None,
1093    ShapeDependency::None,
1094    ShapeDependency::None,
1095    ShapeDependency::None,
1096    ShapeDependency::None,
1097    ShapeDependency::None,
1098    ShapeDependency::Neighbours(NeighbourShape::Fence),
1099    ShapeDependency::Neighbours(NeighbourShape::Fence),
1100    ShapeDependency::Neighbours(NeighbourShape::Fence),
1101    ShapeDependency::Neighbours(NeighbourShape::Fence),
1102    ShapeDependency::Neighbours(NeighbourShape::Fence),
1103    ShapeDependency::Neighbours(NeighbourShape::Door),
1104    ShapeDependency::Neighbours(NeighbourShape::Door),
1105    ShapeDependency::Neighbours(NeighbourShape::Door),
1106    ShapeDependency::Neighbours(NeighbourShape::Door),
1107    ShapeDependency::Neighbours(NeighbourShape::Door),
1108];
1109
1110/// Shape index per raw state `id << 4 | meta`.
1111pub(crate) static STATE_SHAPE: [u8; 3168] = [
1112    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113    1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1114    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1116    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1117    1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1118    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1119    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1120    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1122    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1124    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1125    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1126    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1127    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1128    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1129    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1130    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1131    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1132    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1134    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135    1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1136    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1137    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1138    2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
1139    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1140    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1141    1, 1, 1, 1, 1, 1, 0, 0, 3, 4, 5, 6, 7, 8, 0, 0,
1142    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1143    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1144    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1145    1, 1, 1, 1, 1, 1, 0, 0, 3, 4, 5, 6, 7, 8, 0, 0,
1146    77, 78, 79, 80, 81, 82, 0, 0, 77, 78, 79, 80, 81, 82, 0, 0,
1147    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1148    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1149    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1150    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1151    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1152    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1153    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1154    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1155    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1156    9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
1157    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1158    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1159    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1160    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1161    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1162    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1163    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1164    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1165    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1166    0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1168    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1169    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1171    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1172    70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0,
1173    0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1174    0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1175    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1176    21, 22, 23, 20, 22, 23, 20, 21, 21, 86, 86, 86, 0, 0, 0, 0,
1177    0, 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1179    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1180    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1182    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1183    21, 22, 23, 20, 22, 23, 20, 21, 21, 87, 87, 87, 0, 0, 0, 0,
1184    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1185    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1186    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1187    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1188    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190    75, 24, 25, 26, 9, 27, 4, 28, 0, 0, 0, 0, 0, 0, 0, 0,
1191    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1192    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1193    29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1194    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1196    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1197    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1198    1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1199    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1200    28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1203    1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204    31, 32, 33, 34, 35, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1205    24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
1206    24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
1207    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1208    38, 38, 38, 38, 20, 22, 23, 21, 39, 39, 39, 39, 20, 22, 23, 21,
1209    1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1210    1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1211    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
1212    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
1213    85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1214    83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1216    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1217    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1219    40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
1220    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1221    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1222    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223    76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1224    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1226    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1227    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228    4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1229    42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 0, 0,
1230    43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1231    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1232    68, 68, 68, 68, 69, 69, 69, 69, 0, 0, 0, 0, 0, 0, 0, 0,
1233    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1234    44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1237    1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238    9, 9, 9, 9, 9, 9, 0, 0, 10, 10, 10, 10, 10, 10, 0, 0,
1239    46, 47, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0, 0,
1240    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1241    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1242    0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1243    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1244    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1245    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1247    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1248    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1249    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1251    57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1252    58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
1253    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1254    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1256    60, 60, 59, 61, 62, 63, 0, 0, 60, 60, 59, 61, 62, 63, 0, 0,
1257    64, 65, 64, 65, 64, 65, 64, 65, 64, 65, 64, 65, 0, 0, 0, 0,
1258    0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1260    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1261    24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
1262    24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
1263    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1264    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1265    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1266    66, 0, 66, 66, 66, 66, 0, 0, 66, 0, 66, 66, 66, 66, 0, 0,
1267    1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1268    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1269    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1270    1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1271    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1272    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1273    1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1274    1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1275    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1276    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1277    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1278    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1279    38, 38, 38, 38, 20, 22, 23, 21, 39, 39, 39, 39, 20, 22, 23, 21,
1280    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1282    1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1283    67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1284    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1285    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1286    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1287    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1288    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1289    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1290    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1291    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1292    12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1293    1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
1294    9, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
1295    40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
1296    40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
1297    40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
1298    40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
1299    40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
1300    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1301    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1302    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1304    30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1305    21, 22, 23, 20, 22, 23, 20, 21, 21, 88, 88, 88, 0, 0, 0, 0,
1306    21, 22, 23, 20, 22, 23, 20, 21, 21, 89, 89, 89, 0, 0, 0, 0,
1307    21, 22, 23, 20, 22, 23, 20, 21, 21, 90, 90, 90, 0, 0, 0, 0,
1308    21, 22, 23, 20, 22, 23, 20, 21, 21, 91, 91, 91, 0, 0, 0, 0,
1309    21, 22, 23, 20, 22, 23, 20, 21, 21, 92, 92, 92, 0, 0, 0, 0,
1310];
1311
1312/// Float world-coordinate rule sets (index 0 = none, plain double placement).
1313pub(crate) static WORLD_COORDS: [Option<&[WorldCoords]>; 20] = [
1314    None,
1315    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0 }, WorldCoord::Double]]),
1316    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.125 }, WorldCoord::Double]]),
1317    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.25 }, WorldCoord::Double]]),
1318    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.375 }, WorldCoord::Double]]),
1319    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Double]]),
1320    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.625 }, WorldCoord::Double]]),
1321    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.75 }, WorldCoord::Double]]),
1322    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.875 }, WorldCoord::Double]]),
1323    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1324    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 1, term: -0.125 }, WorldCoord::Double]]),
1325    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1326    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.1875 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1327    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.3125 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1328    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.4375 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1329    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.5625 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1330    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.6875 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1331    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.8125 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0625 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Float { int_offset: 1, term: -0.0625 }]]),
1332    Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.375 }, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 1.5 }, WorldCoord::Float { int_offset: 0, term: 0.625 }]]),
1333    Some(&[[WorldCoord::Float { int_offset: 0, term: 0.375 }, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.625 }, WorldCoord::Float { int_offset: 0, term: 1.5 }, WorldCoord::Double]]),
1334];
1335
1336/// Index into `WORLD_COORDS` per raw state.
1337pub(crate) static STATE_WORLD_COORDS: [u8; 3168] = [
1338    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1339    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1342    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1344    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1345    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1346    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1347    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1348    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1350    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1351    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1353    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1354    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1356    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1357    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1358    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1359    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1360    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1361    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1364    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1365    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1367    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1368    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1369    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1370    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1371    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1373    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1375    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1376    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1378    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1379    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1380    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1381    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1382    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1384    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1387    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1388    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1390    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1391    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1392    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1395    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1398    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1399    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1401    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1402    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1403    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1405    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1409    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1410    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1411    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1412    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1413    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1414    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1415    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416    1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0,
1417    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1418    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1419    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1420    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1422    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426    10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1429    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430    11, 12, 13, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1431    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1433    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1435    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1438    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1444    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445    18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
1446    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1447    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1448    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1449    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1452    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1457    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1459    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1460    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1461    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1462    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1466    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1469    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1472    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1473    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1483    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1485    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1486    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1487    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1488    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1489    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1490    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1492    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1495    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1498    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1500    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1501    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1502    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1503    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1508    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1509    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1511    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1512    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1513    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1514    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1515    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1516    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1521    18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
1522    18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
1523    18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
1524    18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
1525    18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
1526    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1527    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1528    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1529    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1530    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1531    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1532    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1534    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1535    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1536];
1537
1538/// Vanilla per-block flags (1.8.9 oracle `block` lines).
1539pub(crate) static VANILLA_PROPS: [VanillaProps; 198] = [
1540    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Air, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1541    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1542    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1543    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1544    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1545    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1546    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1547    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1548    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Water, blocks_movement: false, solid: false, fluid: true, opaque: false, replaceable: true } },
1549    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Water, blocks_movement: false, solid: false, fluid: true, opaque: false, replaceable: true } },
1550    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Lava, blocks_movement: false, solid: false, fluid: true, opaque: false, replaceable: true } },
1551    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Lava, blocks_movement: false, solid: false, fluid: true, opaque: false, replaceable: true } },
1552    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1553    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1554    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1555    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1556    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1557    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1558    VanillaProps { full_cube: false, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1559    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1560    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1561    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1562    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1563    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1564    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1565    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1566    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1567    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1568    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1569    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1570    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: true, fluid: false, opaque: false, replaceable: false } },
1571    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1572    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1573    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1574    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1575    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1576    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1577    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1578    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1579    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1580    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1581    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1582    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1583    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1584    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1585    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1586    VanillaProps { full_cube: false, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1587    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1588    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1589    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1590    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1591    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: false, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1592    VanillaProps { full_cube: true, normal_block: true, full_block: false, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1593    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1594    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1595    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1596    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1597    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1598    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1599    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1600    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1601    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1602    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1603    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1604    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1605    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1606    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1607    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1608    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1609    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1610    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1611    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1612    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1613    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1614    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1615    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1616    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1617    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1618    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1619    VanillaProps { full_cube: false, normal_block: true, full_block: false, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Ice, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1620    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1621    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1622    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1623    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1624    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1625    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1626    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1627    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1628    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1629    VanillaProps { full_cube: false, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1630    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1631    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1632    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1633    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1634    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1635    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1636    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1637    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1638    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1639    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1640    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1641    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1642    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1643    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1644    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1645    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1646    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1647    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1648    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1649    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1650    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1651    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1652    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1653    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1654    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1655    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1656    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1657    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1658    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1659    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1660    VanillaProps { full_cube: true, normal_block: true, full_block: false, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1661    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1662    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1663    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1664    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1665    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1666    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1667    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1668    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1669    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1670    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1671    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1672    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1673    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1674    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1675    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1676    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1677    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1678    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1679    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1680    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1681    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1682    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1683    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1684    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1685    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1686    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1687    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1688    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1689    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1690    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1691    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1692    VanillaProps { full_cube: false, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1693    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1694    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1695    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1696    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1697    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1698    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1699    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1700    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1701    VanillaProps { full_cube: false, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1702    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1703    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1704    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1705    VanillaProps { full_cube: true, normal_block: true, full_block: false, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1706    VanillaProps { full_cube: true, normal_block: true, full_block: false, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1707    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1708    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1709    VanillaProps { full_cube: false, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: false, replaceable: false } },
1710    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1711    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: false } },
1712    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1713    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1714    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1715    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: false, solid: false, fluid: false, opaque: false, replaceable: true } },
1716    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1717    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1718    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1719    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1720    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1721    VanillaProps { full_cube: true, normal_block: true, full_block: true, render_as_normal_block: true, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1722    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1723    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1724    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1725    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1726    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1727    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1728    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1729    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1730    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1731    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1732    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1733    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1734    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1735    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1736    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1737    VanillaProps { full_cube: false, normal_block: false, full_block: false, render_as_normal_block: false, has_collision: true, material: Material { kind: MaterialKind::Other, blocks_movement: true, solid: true, fluid: false, opaque: true, replaceable: false } },
1738];
1739
1740/// Distinct 1.8.9 selection (ray-test) bounds, block-local (oracle).
1741pub(crate) static SELECTION_BOUNDS: [Aabb; 112] = [
1742    Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0),
1743    Aabb::new(0.09999999403953552, 0.0, 0.09999999403953552, 0.8999999761581421, 0.800000011920929, 0.8999999761581421),
1744    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5625, 1.0),
1745    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0),
1746    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0),
1747    Aabb::new(0.0, 0.25, 0.0, 1.0, 1.0, 1.0),
1748    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.75, 1.0),
1749    Aabb::new(0.0, 0.0, 0.25, 1.0, 1.0, 1.0),
1750    Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.75),
1751    Aabb::new(0.25, 0.0, 0.0, 1.0, 1.0, 1.0),
1752    Aabb::new(0.0, 0.0, 0.0, 0.75, 1.0, 1.0),
1753    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0),
1754    Aabb::new(0.0, 0.75, 0.0, 1.0, 1.0, 1.0),
1755    Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.25),
1756    Aabb::new(0.0, 0.0, 0.75, 1.0, 1.0, 1.0),
1757    Aabb::new(0.0, 0.0, 0.0, 0.25, 1.0, 1.0),
1758    Aabb::new(0.75, 0.0, 0.0, 1.0, 1.0, 1.0),
1759    Aabb::new(0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.6000000238418579, 0.699999988079071),
1760    Aabb::new(0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.4000000059604645, 0.699999988079071),
1761    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5, 1.0),
1762    Aabb::new(0.0, 0.5, 0.0, 1.0, 1.0, 1.0),
1763    Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375),
1764    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0625, 1.0),
1765    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.9375, 1.0),
1766    Aabb::new(0.25, 0.0, 0.25, 0.75, 1.0, 0.75),
1767    Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0),
1768    Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.1875),
1769    Aabb::new(0.8125, 0.0, 0.0, 1.0, 1.0, 1.0),
1770    Aabb::new(0.0, 0.0, 0.8125, 1.0, 1.0, 1.0),
1771    Aabb::new(0.0, 0.0, 0.875, 1.0, 1.0, 1.0),
1772    Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.125),
1773    Aabb::new(0.875, 0.0, 0.0, 1.0, 1.0, 1.0),
1774    Aabb::new(0.0, 0.0, 0.0, 0.125, 1.0, 1.0),
1775    Aabb::new(0.0, 0.28125, 0.875, 1.0, 0.78125, 1.0),
1776    Aabb::new(0.0, 0.28125, 0.0, 1.0, 0.78125, 0.125),
1777    Aabb::new(0.875, 0.28125, 0.0, 1.0, 0.78125, 1.0),
1778    Aabb::new(0.0, 0.28125, 0.0, 0.125, 0.78125, 1.0),
1779    Aabb::new(0.25, 0.4000000059604645, 0.25, 0.75, 1.0, 0.75),
1780    Aabb::new(0.0, 0.20000000298023224, 0.3125, 0.375, 0.800000011920929, 0.6875),
1781    Aabb::new(0.625, 0.20000000298023224, 0.3125, 1.0, 0.800000011920929, 0.6875),
1782    Aabb::new(0.3125, 0.20000000298023224, 0.0, 0.6875, 0.800000011920929, 0.375),
1783    Aabb::new(0.3125, 0.20000000298023224, 0.625, 0.6875, 0.800000011920929, 1.0),
1784    Aabb::new(0.25, 0.0, 0.25, 0.75, 0.6000000238418579, 0.75),
1785    Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.0625, 0.9375),
1786    Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.03125, 0.9375),
1787    Aabb::new(0.3125, 0.875, 0.375, 0.6875, 1.0, 0.625),
1788    Aabb::new(0.0, 0.375, 0.3125, 0.125, 0.625, 0.6875),
1789    Aabb::new(0.875, 0.375, 0.3125, 1.0, 0.625, 0.6875),
1790    Aabb::new(0.3125, 0.375, 0.0, 0.6875, 0.625, 0.125),
1791    Aabb::new(0.3125, 0.375, 0.875, 0.6875, 0.625, 1.0),
1792    Aabb::new(0.3125, 0.0, 0.375, 0.6875, 0.125, 0.625),
1793    Aabb::new(0.3125, 0.9375, 0.375, 0.6875, 1.0, 0.625),
1794    Aabb::new(0.0, 0.375, 0.3125, 0.0625, 0.625, 0.6875),
1795    Aabb::new(0.9375, 0.375, 0.3125, 1.0, 0.625, 0.6875),
1796    Aabb::new(0.3125, 0.375, 0.0, 0.6875, 0.625, 0.0625),
1797    Aabb::new(0.3125, 0.375, 0.9375, 0.6875, 0.625, 1.0),
1798    Aabb::new(0.3125, 0.0, 0.375, 0.6875, 0.0625, 0.625),
1799    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.375, 1.0),
1800    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.875, 1.0),
1801    Aabb::new(0.125, 0.0, 0.125, 0.875, 1.0, 0.875),
1802    Aabb::new(0.375, 0.0, 0.375, 0.625, 1.0, 0.625),
1803    Aabb::new(0.0, 0.0, 0.375, 1.0, 1.0, 0.625),
1804    Aabb::new(0.375, 0.0, 0.0, 0.625, 1.0, 1.0),
1805    Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1806    Aabb::new(0.1875, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1807    Aabb::new(0.3125, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1808    Aabb::new(0.4375, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1809    Aabb::new(0.5625, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1810    Aabb::new(0.6875, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1811    Aabb::new(0.8125, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
1812    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.1875, 1.0),
1813    Aabb::new(0.0, 0.8125, 0.0, 1.0, 1.0, 1.0),
1814    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.125, 0.625),
1815    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.25, 0.625),
1816    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.375, 0.625),
1817    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.5, 0.625),
1818    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.625, 0.625),
1819    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.75, 0.625),
1820    Aabb::new(0.375, 0.0, 0.375, 0.625, 0.875, 0.625),
1821    Aabb::new(1.0, 1.0, 1.0, 0.0, 0.0, 0.0),
1822    Aabb::new(0.0, 0.0, 0.9375, 1.0, 1.0, 1.0),
1823    Aabb::new(0.0, 0.0, 0.0, 0.0625, 1.0, 1.0),
1824    Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.0625),
1825    Aabb::new(0.9375, 0.0, 0.0, 1.0, 1.0, 1.0),
1826    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.015625, 1.0),
1827    Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375),
1828    Aabb::new(0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375),
1829    Aabb::new(0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625),
1830    Aabb::new(0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125),
1831    Aabb::new(0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625),
1832    Aabb::new(0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375),
1833    Aabb::new(0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875),
1834    Aabb::new(0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375),
1835    Aabb::new(0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875),
1836    Aabb::new(0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375),
1837    Aabb::new(0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75),
1838    Aabb::new(0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625),
1839    Aabb::new(0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75),
1840    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.09375, 1.0),
1841    Aabb::new(0.0, 0.0625, 0.0, 1.0, 0.15625, 1.0),
1842    Aabb::new(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875),
1843    Aabb::new(0.25, 0.0, 0.25, 0.75, 0.5, 0.75),
1844    Aabb::new(0.25, 0.25, 0.5, 0.75, 0.75, 1.0),
1845    Aabb::new(0.25, 0.25, 0.0, 0.75, 0.75, 0.5),
1846    Aabb::new(0.5, 0.25, 0.25, 1.0, 0.75, 0.75),
1847    Aabb::new(0.0, 0.25, 0.25, 0.5, 0.75, 0.75),
1848    Aabb::new(0.125, 0.0, 0.0, 0.875, 1.0, 1.0),
1849    Aabb::new(0.0, 0.0, 0.125, 1.0, 1.0, 0.875),
1850    Aabb::new(0.0, 0.0, 0.875, 1.0, 0.78125, 1.0),
1851    Aabb::new(0.0, 0.0, 0.0, 1.0, 0.78125, 0.125),
1852    Aabb::new(0.875, 0.0, 0.0, 1.0, 0.78125, 1.0),
1853    Aabb::new(0.0, 0.0, 0.0, 0.125, 0.78125, 1.0),
1854];
1855
1856/// Selection bounds index per raw state.
1857pub(crate) static STATE_SELECTION: [u8; 3168] = [
1858    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1860    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1861    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1862    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1863    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864    1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1865    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1867    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1868    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1869    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1870    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1871    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1874    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1876    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1878    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1881    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1882    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1883    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1884    2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
1885    3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
1886    3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
1887    0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, 0, 0,
1888    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1889    1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891    0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, 0, 0,
1892    11, 12, 13, 14, 15, 16, 0, 0, 11, 12, 13, 14, 15, 16, 0, 0,
1893    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895    17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1896    17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0,
1897    18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1898    18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1899    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1900    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1901    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902    19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20,
1903    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1904    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1906    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1907    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1908    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1910    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1911    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1912    0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1913    22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
1914    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1915    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917    11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
1918    23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1919    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1921    24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
1922    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
1923    0, 0, 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924    3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0,
1925    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1926    0, 0, 33, 34, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1927    37, 38, 39, 40, 41, 42, 42, 37, 37, 38, 39, 40, 41, 42, 42, 37,
1928    43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
1930    43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1933    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1935    45, 46, 47, 48, 49, 50, 0, 0, 51, 52, 53, 54, 55, 56, 0, 0,
1936    3, 11, 57, 19, 4, 6, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1938    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1940    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941    59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1942    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1944    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1945    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1946    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1947    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948    0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950    63, 64, 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1951    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1952    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1953    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1954    70, 70, 70, 70, 28, 26, 27, 25, 71, 71, 71, 71, 28, 26, 27, 25,
1955    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1958    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1959    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1960    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1961    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962    72, 73, 74, 75, 76, 77, 78, 60, 0, 0, 0, 0, 0, 0, 0, 0,
1963    72, 73, 74, 75, 76, 77, 78, 60, 0, 0, 0, 0, 0, 0, 0, 0,
1964    79, 80, 81, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
1965    61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
1966    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1967    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1969    84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1971    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973    11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974    6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1975    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1976    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1977    22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980    85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1982    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1983    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984    19, 19, 19, 19, 19, 19, 0, 0, 20, 20, 20, 20, 20, 20, 0, 0,
1985    86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 0,
1986    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1988    0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989    40, 39, 41, 38, 40, 39, 41, 38, 40, 39, 41, 38, 40, 39, 41, 38,
1990    98, 98, 19, 19, 98, 98, 99, 99, 98, 98, 19, 19, 98, 98, 99, 99,
1991    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1993    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997    24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998    100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
1999    11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
2000    11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
2001    45, 46, 47, 48, 49, 50, 0, 0, 51, 52, 53, 54, 55, 56, 0, 0,
2002    101, 101, 102, 103, 104, 105, 0, 0, 101, 101, 102, 103, 104, 105, 0, 0,
2003    106, 107, 106, 107, 106, 107, 106, 107, 106, 107, 106, 107, 0, 0, 0, 0,
2004    0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2005    43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2006    43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
2007    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2008    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2009    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2010    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2011    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2012    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2013    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2014    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2015    3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
2016    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2017    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2018    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2019    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2022    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2023    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2025    70, 70, 70, 70, 28, 26, 27, 25, 71, 71, 71, 71, 28, 26, 27, 25,
2026    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2029    22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
2030    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2031    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2033    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034    24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
2035    0, 0, 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036    57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
2037    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040    19, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
2041    61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
2042    61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
2043    61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
2044    61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
2045    61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
2046    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2047    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2049    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2050    60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
2052    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
2053    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
2054    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
2055    25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
2056];
2057
2058/// Per raw state: bit 0 canCollide(state, false), 1 canCollide(state, true), 2 has a collision box.
2059pub(crate) static STATE_SELECTION_FLAGS: [u8; 3168] = [
2060    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061    7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063    7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2064    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2065    7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2067    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2068    2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2069    2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2070    2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2071    2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2072    7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2073    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2075    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2077    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2078    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2079    7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2080    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2081    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2082    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2084    7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2085    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2086    7, 7, 7, 7, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7,
2087    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2088    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2089    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2090    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2091    3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2092    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2093    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2094    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2095    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2096    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2097    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2098    3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0,
2099    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2100    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2101    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2102    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2103    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2104    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2105    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2106    7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2107    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2108    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2110    0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2111    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2113    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2114    0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2115    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2116    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2117    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2118    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2119    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2120    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2121    0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2122    0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2123    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2124    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2125    0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2126    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0,
2127    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2128    0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2129    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2130    3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2131    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2132    3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2133    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2134    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2135    0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2136    0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2137    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2138    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2139    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2140    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2141    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2142    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2143    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2144    7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2146    7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2147    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2149    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150    0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2151    7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2152    7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2153    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2154    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2155    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2156    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2157    7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2158    7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2159    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7,
2160    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7,
2161    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2162    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2163    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2164    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2165    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2166    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2167    7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
2168    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2169    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2170    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2171    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2173    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2175    3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2177    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2178    7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2179    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2180    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2181    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2183    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2185    7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2187    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2188    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2189    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190    0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2192    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2193    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2195    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2196    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2197    7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2198    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2199    7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2200    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2201    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2202    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
2203    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2204    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2205    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2206    0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2207    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2208    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2209    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2210    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2211    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2212    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2214    7, 0, 7, 7, 7, 7, 0, 0, 7, 0, 7, 7, 7, 7, 0, 0,
2215    7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2216    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2217    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
2218    7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
2219    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2220    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2221    7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0,
2222    7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0,
2223    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2224    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2225    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2226    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2227    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2228    7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2229    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230    7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
2231    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2232    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2233    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2234    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2235    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0,
2236    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2237    0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2238    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2239    7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2240    7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
2241    7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
2242    7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
2243    7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
2244    7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
2245    7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
2246    7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
2247    7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
2248    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2250    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2252    7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2254    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2255    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2256    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2257    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
2258];
2259
2260/// Bit `m` set = meta `m` is a registered state of the block (from the 1.8.9 oracle).
2261pub(crate) static REGISTERED_METAS: [u16; 198] = [
2262    1, 127, 1, 7, 1, 63, 16191, 1, 65535, 65535, 65535, 65535, 3, 1, 1, 1,
2263    1, 65535, 65535, 3, 1, 1, 1, 16191, 7, 1, 65295, 16191, 16191, 16191, 1, 7,
2264    1, 16191, 16191, 65535, 16191, 1, 511, 1, 1, 1, 1, 65535, 65535, 1, 3, 1,
2265    1, 1, 62, 65535, 1, 255, 60, 65535, 1, 1, 1, 255, 255, 60, 60, 65535,
2266    4095, 60, 1023, 255, 60, 65535, 3, 4095, 3, 1, 1, 62, 62, 16191, 255, 1,
2267    1, 65535, 1, 65535, 3, 1, 15, 1, 1, 1, 6, 15, 127, 65535, 65535, 65535,
2268    65535, 63, 15, 51199, 51199, 1, 1, 1, 255, 255, 65535, 65535, 255, 255, 1, 1,
2269    1, 1, 255, 15, 1, 255, 15, 1, 255, 1, 1, 1, 1, 63, 16191, 4095,
2270    255, 1, 60, 65535, 65535, 1, 255, 255, 255, 3, 1, 3, 65535, 255, 255, 16191,
2271    16191, 4095, 60, 65535, 65535, 65535, 65535, 65535, 1, 1, 15677, 31, 255, 16191, 16191, 65535,
2272    65535, 13107, 13107, 255, 255, 1, 1, 65535, 7, 1, 273, 65535, 1, 1, 1, 3903,
2273    65535, 60, 65535, 7, 255, 257, 257, 65535, 65535, 65535, 65535, 65535, 1, 1, 1, 1,
2274    1, 4095, 4095, 4095, 4095, 4095,
2275];