//! 1.8 block table: per-block info, per-state (`id << 4 | meta`) collision shape index.
//!
//! @generated by `cargo run -p ghast-codegen-data` from PrismarineJS minecraft-data 3.119.0 — do not edit.
//! Sources: pc/1.8/blocks.json, pc/1.8/blockCollisionShapes.json, codegen/data/src/facts.rs.
#![allow(clippy::all, clippy::pedantic, clippy::nursery, missing_docs)]
use crate::common::*;
use crate::v1_8::{Material, MaterialKind, VanillaProps};
pub(crate) static BLOCKS: [BlockInfo; 198] = [
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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) } },
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) } },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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) } },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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 },
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) } },
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) } },
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) } },
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) } },
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) } },
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) } },
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) } },
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) } },
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) } },
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) } },
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 },
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 },
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 },
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 },
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 },
];
pub(crate) static BLOCK_NAMES: [(&str, u8); 198] = [
("acacia_door", 196),
("acacia_fence", 192),
("acacia_fence_gate", 187),
("acacia_stairs", 163),
("activator_rail", 157),
("air", 0),
("anvil", 145),
("barrier", 166),
("beacon", 138),
("bed", 26),
("bedrock", 7),
("birch_door", 194),
("birch_fence", 189),
("birch_fence_gate", 184),
("birch_stairs", 135),
("bookshelf", 47),
("brewing_stand", 117),
("brick_block", 45),
("brick_stairs", 108),
("brown_mushroom", 39),
("brown_mushroom_block", 99),
("cactus", 81),
("cake", 92),
("carpet", 171),
("carrots", 141),
("cauldron", 118),
("chest", 54),
("clay", 82),
("coal_block", 173),
("coal_ore", 16),
("cobblestone", 4),
("cobblestone_wall", 139),
("cocoa", 127),
("command_block", 137),
("crafting_table", 58),
("dark_oak_door", 197),
("dark_oak_fence", 191),
("dark_oak_fence_gate", 186),
("dark_oak_stairs", 164),
("daylight_detector", 151),
("daylight_detector_inverted", 178),
("deadbush", 32),
("detector_rail", 28),
("diamond_block", 57),
("diamond_ore", 56),
("dirt", 3),
("dispenser", 23),
("double_plant", 175),
("double_stone_slab", 43),
("double_stone_slab2", 181),
("double_wooden_slab", 125),
("dragon_egg", 122),
("dropper", 158),
("emerald_block", 133),
("emerald_ore", 129),
("enchanting_table", 116),
("end_portal", 119),
("end_portal_frame", 120),
("end_stone", 121),
("ender_chest", 130),
("farmland", 60),
("fence", 85),
("fence_gate", 107),
("fire", 51),
("flower_pot", 140),
("flowing_lava", 10),
("flowing_water", 8),
("furnace", 61),
("glass", 20),
("glass_pane", 102),
("glowstone", 89),
("gold_block", 41),
("gold_ore", 14),
("golden_rail", 27),
("grass", 2),
("gravel", 13),
("hardened_clay", 172),
("hay_block", 170),
("heavy_weighted_pressure_plate", 148),
("hopper", 154),
("ice", 79),
("iron_bars", 101),
("iron_block", 42),
("iron_door", 71),
("iron_ore", 15),
("iron_trapdoor", 167),
("jukebox", 84),
("jungle_door", 195),
("jungle_fence", 190),
("jungle_fence_gate", 185),
("jungle_stairs", 136),
("ladder", 65),
("lapis_block", 22),
("lapis_ore", 21),
("lava", 11),
("leaves", 18),
("leaves2", 161),
("lever", 69),
("light_weighted_pressure_plate", 147),
("lit_furnace", 62),
("lit_pumpkin", 91),
("lit_redstone_lamp", 124),
("lit_redstone_ore", 74),
("log", 17),
("log2", 162),
("melon_block", 103),
("melon_stem", 105),
("mob_spawner", 52),
("monster_egg", 97),
("mossy_cobblestone", 48),
("mycelium", 110),
("nether_brick", 112),
("nether_brick_fence", 113),
("nether_brick_stairs", 114),
("nether_wart", 115),
("netherrack", 87),
("noteblock", 25),
("oak_stairs", 53),
("obsidian", 49),
("packed_ice", 174),
("piston", 33),
("piston_extension", 36),
("piston_head", 34),
("planks", 5),
("portal", 90),
("potatoes", 142),
("powered_comparator", 150),
("powered_repeater", 94),
("prismarine", 168),
("pumpkin", 86),
("pumpkin_stem", 104),
("quartz_block", 155),
("quartz_ore", 153),
("quartz_stairs", 156),
("rail", 66),
("red_flower", 38),
("red_mushroom", 40),
("red_mushroom_block", 100),
("red_sandstone", 179),
("red_sandstone_stairs", 180),
("redstone_block", 152),
("redstone_lamp", 123),
("redstone_ore", 73),
("redstone_torch", 76),
("redstone_wire", 55),
("reeds", 83),
("sand", 12),
("sandstone", 24),
("sandstone_stairs", 128),
("sapling", 6),
("sea_lantern", 169),
("skull", 144),
("slime", 165),
("snow", 80),
("snow_layer", 78),
("soul_sand", 88),
("sponge", 19),
("spruce_door", 193),
("spruce_fence", 188),
("spruce_fence_gate", 183),
("spruce_stairs", 134),
("stained_glass", 95),
("stained_glass_pane", 160),
("stained_hardened_clay", 159),
("standing_banner", 176),
("standing_sign", 63),
("sticky_piston", 29),
("stone", 1),
("stone_brick_stairs", 109),
("stone_button", 77),
("stone_pressure_plate", 70),
("stone_slab", 44),
("stone_slab2", 182),
("stone_stairs", 67),
("stonebrick", 98),
("tallgrass", 31),
("tnt", 46),
("torch", 50),
("trapdoor", 96),
("trapped_chest", 146),
("tripwire", 132),
("tripwire_hook", 131),
("unlit_redstone_torch", 75),
("unpowered_comparator", 149),
("unpowered_repeater", 93),
("vine", 106),
("wall_banner", 177),
("wall_sign", 68),
("water", 9),
("waterlily", 111),
("web", 30),
("wheat", 59),
("wooden_button", 143),
("wooden_door", 64),
("wooden_pressure_plate", 72),
("wooden_slab", 126),
("wool", 35),
("yellow_flower", 37),
];
/// Block constants.
impl crate::v1_8::Block {
/// `air` (Air).
pub const AIR: Self = Self(0);
/// `stone` (Stone).
pub const STONE: Self = Self(1);
/// `grass` (Grass Block).
pub const GRASS: Self = Self(2);
/// `dirt` (Dirt).
pub const DIRT: Self = Self(3);
/// `cobblestone` (Cobblestone).
pub const COBBLESTONE: Self = Self(4);
/// `planks` (Wood Planks).
pub const PLANKS: Self = Self(5);
/// `sapling` (Sapling).
pub const SAPLING: Self = Self(6);
/// `bedrock` (Bedrock).
pub const BEDROCK: Self = Self(7);
/// `flowing_water` (Water).
pub const FLOWING_WATER: Self = Self(8);
/// `water` (Stationary Water).
pub const WATER: Self = Self(9);
/// `flowing_lava` (Lava).
pub const FLOWING_LAVA: Self = Self(10);
/// `lava` (Stationary Lava).
pub const LAVA: Self = Self(11);
/// `sand` (Sand).
pub const SAND: Self = Self(12);
/// `gravel` (Gravel).
pub const GRAVEL: Self = Self(13);
/// `gold_ore` (Gold Ore).
pub const GOLD_ORE: Self = Self(14);
/// `iron_ore` (Iron Ore).
pub const IRON_ORE: Self = Self(15);
/// `coal_ore` (Coal Ore).
pub const COAL_ORE: Self = Self(16);
/// `log` (Wood).
pub const LOG: Self = Self(17);
/// `leaves` (Leaves).
pub const LEAVES: Self = Self(18);
/// `sponge` (Sponge).
pub const SPONGE: Self = Self(19);
/// `glass` (Glass).
pub const GLASS: Self = Self(20);
/// `lapis_ore` (Lapis Lazuli Ore).
pub const LAPIS_ORE: Self = Self(21);
/// `lapis_block` (Lapis Lazuli Block).
pub const LAPIS_BLOCK: Self = Self(22);
/// `dispenser` (Dispenser).
pub const DISPENSER: Self = Self(23);
/// `sandstone` (Sandstone).
pub const SANDSTONE: Self = Self(24);
/// `noteblock` (Note Block).
pub const NOTEBLOCK: Self = Self(25);
/// `bed` (Bed).
pub const BED: Self = Self(26);
/// `golden_rail` (Powered Rail).
pub const GOLDEN_RAIL: Self = Self(27);
/// `detector_rail` (Detector Rail).
pub const DETECTOR_RAIL: Self = Self(28);
/// `sticky_piston` (Sticky Piston).
pub const STICKY_PISTON: Self = Self(29);
/// `web` (Cobweb).
pub const WEB: Self = Self(30);
/// `tallgrass` (Grass).
pub const TALLGRASS: Self = Self(31);
/// `deadbush` (Dead Bush).
pub const DEADBUSH: Self = Self(32);
/// `piston` (Piston).
pub const PISTON: Self = Self(33);
/// `piston_head` (Piston Head).
pub const PISTON_HEAD: Self = Self(34);
/// `wool` (Wool).
pub const WOOL: Self = Self(35);
/// `piston_extension` (Block moved by Piston).
pub const PISTON_EXTENSION: Self = Self(36);
/// `yellow_flower` (Dandelion).
pub const YELLOW_FLOWER: Self = Self(37);
/// `red_flower` (Poppy).
pub const RED_FLOWER: Self = Self(38);
/// `brown_mushroom` (Brown Mushroom).
pub const BROWN_MUSHROOM: Self = Self(39);
/// `red_mushroom` (Red Mushroom).
pub const RED_MUSHROOM: Self = Self(40);
/// `gold_block` (Block of Gold).
pub const GOLD_BLOCK: Self = Self(41);
/// `iron_block` (Block of Iron).
pub const IRON_BLOCK: Self = Self(42);
/// `double_stone_slab` (Double Stone Slab).
pub const DOUBLE_STONE_SLAB: Self = Self(43);
/// `stone_slab` (Stone Slab).
pub const STONE_SLAB: Self = Self(44);
/// `brick_block` (Bricks).
pub const BRICK_BLOCK: Self = Self(45);
/// `tnt` (TNT).
pub const TNT: Self = Self(46);
/// `bookshelf` (Bookshelf).
pub const BOOKSHELF: Self = Self(47);
/// `mossy_cobblestone` (Moss Stone).
pub const MOSSY_COBBLESTONE: Self = Self(48);
/// `obsidian` (Obsidian).
pub const OBSIDIAN: Self = Self(49);
/// `torch` (Torch).
pub const TORCH: Self = Self(50);
/// `fire` (Fire).
pub const FIRE: Self = Self(51);
/// `mob_spawner` (Monster Spawner).
pub const MOB_SPAWNER: Self = Self(52);
/// `oak_stairs` (Oak Wood Stairs).
pub const OAK_STAIRS: Self = Self(53);
/// `chest` (Chest).
pub const CHEST: Self = Self(54);
/// `redstone_wire` (Redstone Wire).
pub const REDSTONE_WIRE: Self = Self(55);
/// `diamond_ore` (Diamond Ore).
pub const DIAMOND_ORE: Self = Self(56);
/// `diamond_block` (Block of Diamond).
pub const DIAMOND_BLOCK: Self = Self(57);
/// `crafting_table` (Crafting Table).
pub const CRAFTING_TABLE: Self = Self(58);
/// `wheat` (Wheat).
pub const WHEAT: Self = Self(59);
/// `farmland` (Farmland).
pub const FARMLAND: Self = Self(60);
/// `furnace` (Furnace).
pub const FURNACE: Self = Self(61);
/// `lit_furnace` (Burning Furnace).
pub const LIT_FURNACE: Self = Self(62);
/// `standing_sign` (Standing Sign).
pub const STANDING_SIGN: Self = Self(63);
/// `wooden_door` (Oak Door).
pub const WOODEN_DOOR: Self = Self(64);
/// `ladder` (Ladder).
pub const LADDER: Self = Self(65);
/// `rail` (Rail).
pub const RAIL: Self = Self(66);
/// `stone_stairs` (Cobblestone Stairs).
pub const STONE_STAIRS: Self = Self(67);
/// `wall_sign` (Wall Sign).
pub const WALL_SIGN: Self = Self(68);
/// `lever` (Lever).
pub const LEVER: Self = Self(69);
/// `stone_pressure_plate` (Stone Pressure Plate).
pub const STONE_PRESSURE_PLATE: Self = Self(70);
/// `iron_door` (Iron Door).
pub const IRON_DOOR: Self = Self(71);
/// `wooden_pressure_plate` (Wooden Pressure Plate).
pub const WOODEN_PRESSURE_PLATE: Self = Self(72);
/// `redstone_ore` (Redstone Ore).
pub const REDSTONE_ORE: Self = Self(73);
/// `lit_redstone_ore` (Glowing Redstone Ore).
pub const LIT_REDSTONE_ORE: Self = Self(74);
/// `unlit_redstone_torch` (Redstone Torch (inactive)).
pub const UNLIT_REDSTONE_TORCH: Self = Self(75);
/// `redstone_torch` (Redstone Torch (active)).
pub const REDSTONE_TORCH: Self = Self(76);
/// `stone_button` (Stone Button).
pub const STONE_BUTTON: Self = Self(77);
/// `snow_layer` (Snow (layer)).
pub const SNOW_LAYER: Self = Self(78);
/// `ice` (Ice).
pub const ICE: Self = Self(79);
/// `snow` (Snow).
pub const SNOW: Self = Self(80);
/// `cactus` (Cactus).
pub const CACTUS: Self = Self(81);
/// `clay` (Clay).
pub const CLAY: Self = Self(82);
/// `reeds` (Sugar Cane).
pub const REEDS: Self = Self(83);
/// `jukebox` (Jukebox).
pub const JUKEBOX: Self = Self(84);
/// `fence` (Fence).
pub const FENCE: Self = Self(85);
/// `pumpkin` (Pumpkin).
pub const PUMPKIN: Self = Self(86);
/// `netherrack` (Netherrack).
pub const NETHERRACK: Self = Self(87);
/// `soul_sand` (Soul Sand).
pub const SOUL_SAND: Self = Self(88);
/// `glowstone` (Glowstone).
pub const GLOWSTONE: Self = Self(89);
/// `portal` (Nether Portal).
pub const PORTAL: Self = Self(90);
/// `lit_pumpkin` (Jack o'Lantern).
pub const LIT_PUMPKIN: Self = Self(91);
/// `cake` (Cake).
pub const CAKE: Self = Self(92);
/// `unpowered_repeater` (Redstone Repeater (inactive)).
pub const UNPOWERED_REPEATER: Self = Self(93);
/// `powered_repeater` (Redstone Repeater (active)).
pub const POWERED_REPEATER: Self = Self(94);
/// `stained_glass` (Stained Glass).
pub const STAINED_GLASS: Self = Self(95);
/// `trapdoor` (Trapdoor).
pub const TRAPDOOR: Self = Self(96);
/// `monster_egg` (Monster Egg).
pub const MONSTER_EGG: Self = Self(97);
/// `stonebrick` (Stone Bricks).
pub const STONEBRICK: Self = Self(98);
/// `brown_mushroom_block` (Brown Mushroom (block)).
pub const BROWN_MUSHROOM_BLOCK: Self = Self(99);
/// `red_mushroom_block` (Red Mushroom (block)).
pub const RED_MUSHROOM_BLOCK: Self = Self(100);
/// `iron_bars` (Iron Bars).
pub const IRON_BARS: Self = Self(101);
/// `glass_pane` (Glass Pane).
pub const GLASS_PANE: Self = Self(102);
/// `melon_block` (Melon).
pub const MELON_BLOCK: Self = Self(103);
/// `pumpkin_stem` (Pumpkin Stem).
pub const PUMPKIN_STEM: Self = Self(104);
/// `melon_stem` (Melon Stem).
pub const MELON_STEM: Self = Self(105);
/// `vine` (Vines).
pub const VINE: Self = Self(106);
/// `fence_gate` (Fence Gate).
pub const FENCE_GATE: Self = Self(107);
/// `brick_stairs` (Brick Stairs).
pub const BRICK_STAIRS: Self = Self(108);
/// `stone_brick_stairs` (Stone Brick Stairs).
pub const STONE_BRICK_STAIRS: Self = Self(109);
/// `mycelium` (Mycelium).
pub const MYCELIUM: Self = Self(110);
/// `waterlily` (Lily Pad).
pub const WATERLILY: Self = Self(111);
/// `nether_brick` (Nether Brick).
pub const NETHER_BRICK: Self = Self(112);
/// `nether_brick_fence` (Nether Brick Fence).
pub const NETHER_BRICK_FENCE: Self = Self(113);
/// `nether_brick_stairs` (Nether Brick Stairs).
pub const NETHER_BRICK_STAIRS: Self = Self(114);
/// `nether_wart` (Nether Wart).
pub const NETHER_WART: Self = Self(115);
/// `enchanting_table` (Enchantment Table).
pub const ENCHANTING_TABLE: Self = Self(116);
/// `brewing_stand` (Brewing Stand).
pub const BREWING_STAND: Self = Self(117);
/// `cauldron` (Cauldron).
pub const CAULDRON: Self = Self(118);
/// `end_portal` (End Portal).
pub const END_PORTAL: Self = Self(119);
/// `end_portal_frame` (End Portal Block).
pub const END_PORTAL_FRAME: Self = Self(120);
/// `end_stone` (End Stone).
pub const END_STONE: Self = Self(121);
/// `dragon_egg` (Dragon Egg).
pub const DRAGON_EGG: Self = Self(122);
/// `redstone_lamp` (Redstone Lamp (inactive)).
pub const REDSTONE_LAMP: Self = Self(123);
/// `lit_redstone_lamp` (Redstone Lamp (active)).
pub const LIT_REDSTONE_LAMP: Self = Self(124);
/// `double_wooden_slab` (Double Wooden Slab).
pub const DOUBLE_WOODEN_SLAB: Self = Self(125);
/// `wooden_slab` (Wooden Slab).
pub const WOODEN_SLAB: Self = Self(126);
/// `cocoa` (Cocoa).
pub const COCOA: Self = Self(127);
/// `sandstone_stairs` (Sandstone Stairs).
pub const SANDSTONE_STAIRS: Self = Self(128);
/// `emerald_ore` (Emerald Ore).
pub const EMERALD_ORE: Self = Self(129);
/// `ender_chest` (Ender Chest).
pub const ENDER_CHEST: Self = Self(130);
/// `tripwire_hook` (Tripwire Hook).
pub const TRIPWIRE_HOOK: Self = Self(131);
/// `tripwire` (Tripwire).
pub const TRIPWIRE: Self = Self(132);
/// `emerald_block` (Block of Emerald).
pub const EMERALD_BLOCK: Self = Self(133);
/// `spruce_stairs` (Spruce Wood Stairs).
pub const SPRUCE_STAIRS: Self = Self(134);
/// `birch_stairs` (Birch Wood Stairs).
pub const BIRCH_STAIRS: Self = Self(135);
/// `jungle_stairs` (Jungle Wood Stairs).
pub const JUNGLE_STAIRS: Self = Self(136);
/// `command_block` (Command Block).
pub const COMMAND_BLOCK: Self = Self(137);
/// `beacon` (Beacon).
pub const BEACON: Self = Self(138);
/// `cobblestone_wall` (Cobblestone Wall).
pub const COBBLESTONE_WALL: Self = Self(139);
/// `flower_pot` (Flower Pot).
pub const FLOWER_POT: Self = Self(140);
/// `carrots` (Carrot).
pub const CARROTS: Self = Self(141);
/// `potatoes` (Potato).
pub const POTATOES: Self = Self(142);
/// `wooden_button` (Wooden Button).
pub const WOODEN_BUTTON: Self = Self(143);
/// `skull` (Mob head).
pub const SKULL: Self = Self(144);
/// `anvil` (Anvil).
pub const ANVIL: Self = Self(145);
/// `trapped_chest` (Trapped Chest).
pub const TRAPPED_CHEST: Self = Self(146);
/// `light_weighted_pressure_plate` (Weighted Pressure Plate (Light)).
pub const LIGHT_WEIGHTED_PRESSURE_PLATE: Self = Self(147);
/// `heavy_weighted_pressure_plate` (Weighted Pressure Plate (Heavy)).
pub const HEAVY_WEIGHTED_PRESSURE_PLATE: Self = Self(148);
/// `unpowered_comparator` (Redstone Comparator).
pub const UNPOWERED_COMPARATOR: Self = Self(149);
/// `powered_comparator` (Redstone Comparator (deprecated)).
pub const POWERED_COMPARATOR: Self = Self(150);
/// `daylight_detector` (Daylight Sensor).
pub const DAYLIGHT_DETECTOR: Self = Self(151);
/// `redstone_block` (Block of Redstone).
pub const REDSTONE_BLOCK: Self = Self(152);
/// `quartz_ore` (Nether Quartz Ore).
pub const QUARTZ_ORE: Self = Self(153);
/// `hopper` (Hopper).
pub const HOPPER: Self = Self(154);
/// `quartz_block` (Block of Quartz).
pub const QUARTZ_BLOCK: Self = Self(155);
/// `quartz_stairs` (Quartz Stairs).
pub const QUARTZ_STAIRS: Self = Self(156);
/// `activator_rail` (Activator Rail).
pub const ACTIVATOR_RAIL: Self = Self(157);
/// `dropper` (Dropper).
pub const DROPPER: Self = Self(158);
/// `stained_hardened_clay` (Stained Clay).
pub const STAINED_HARDENED_CLAY: Self = Self(159);
/// `stained_glass_pane` (Stained Glass Pane).
pub const STAINED_GLASS_PANE: Self = Self(160);
/// `leaves2` (Leaves (Acacia/Dark Oak)).
pub const LEAVES2: Self = Self(161);
/// `log2` (Wood (Acacia/Dark Oak)).
pub const LOG2: Self = Self(162);
/// `acacia_stairs` (Acacia Wood Stairs).
pub const ACACIA_STAIRS: Self = Self(163);
/// `dark_oak_stairs` (Dark Oak Wood Stairs).
pub const DARK_OAK_STAIRS: Self = Self(164);
/// `slime` (Slime Block).
pub const SLIME: Self = Self(165);
/// `barrier` (Barrier).
pub const BARRIER: Self = Self(166);
/// `iron_trapdoor` (Iron Trapdoor).
pub const IRON_TRAPDOOR: Self = Self(167);
/// `prismarine` (Prismarine).
pub const PRISMARINE: Self = Self(168);
/// `sea_lantern` (Sea Lantern).
pub const SEA_LANTERN: Self = Self(169);
/// `hay_block` (Hay Bale).
pub const HAY_BLOCK: Self = Self(170);
/// `carpet` (Carpet).
pub const CARPET: Self = Self(171);
/// `hardened_clay` (Hardened Clay).
pub const HARDENED_CLAY: Self = Self(172);
/// `coal_block` (Block of Coal).
pub const COAL_BLOCK: Self = Self(173);
/// `packed_ice` (Packed Ice).
pub const PACKED_ICE: Self = Self(174);
/// `double_plant` (Large Flowers).
pub const DOUBLE_PLANT: Self = Self(175);
/// `standing_banner` (Standing Banner).
pub const STANDING_BANNER: Self = Self(176);
/// `wall_banner` (Wall Banner).
pub const WALL_BANNER: Self = Self(177);
/// `daylight_detector_inverted` (Inverted Daylight Sensor).
pub const DAYLIGHT_DETECTOR_INVERTED: Self = Self(178);
/// `red_sandstone` (Red Sandstone).
pub const RED_SANDSTONE: Self = Self(179);
/// `red_sandstone_stairs` (Red Sandstone Stairs).
pub const RED_SANDSTONE_STAIRS: Self = Self(180);
/// `double_stone_slab2` (Double Red Sandstone Slab).
pub const DOUBLE_STONE_SLAB2: Self = Self(181);
/// `stone_slab2` (Red Sandstone Slab).
pub const STONE_SLAB2: Self = Self(182);
/// `spruce_fence_gate` (Spruce Fence Gate).
pub const SPRUCE_FENCE_GATE: Self = Self(183);
/// `birch_fence_gate` (Birch Fence Gate).
pub const BIRCH_FENCE_GATE: Self = Self(184);
/// `jungle_fence_gate` (Jungle Fence Gate).
pub const JUNGLE_FENCE_GATE: Self = Self(185);
/// `dark_oak_fence_gate` (Dark Oak Fence Gate).
pub const DARK_OAK_FENCE_GATE: Self = Self(186);
/// `acacia_fence_gate` (Acacia Fence Gate).
pub const ACACIA_FENCE_GATE: Self = Self(187);
/// `spruce_fence` (Spruce Fence).
pub const SPRUCE_FENCE: Self = Self(188);
/// `birch_fence` (Birch Fence).
pub const BIRCH_FENCE: Self = Self(189);
/// `jungle_fence` (Jungle Fence).
pub const JUNGLE_FENCE: Self = Self(190);
/// `dark_oak_fence` (Dark Oak Fence).
pub const DARK_OAK_FENCE: Self = Self(191);
/// `acacia_fence` (Acacia Fence).
pub const ACACIA_FENCE: Self = Self(192);
/// `spruce_door` (Spruce Door).
pub const SPRUCE_DOOR: Self = Self(193);
/// `birch_door` (Birch Door).
pub const BIRCH_DOOR: Self = Self(194);
/// `jungle_door` (Jungle Door).
pub const JUNGLE_DOOR: Self = Self(195);
/// `acacia_door` (Acacia Door).
pub const ACACIA_DOOR: Self = Self(196);
/// `dark_oak_door` (Dark Oak Door).
pub const DARK_OAK_DOOR: Self = Self(197);
}
pub(crate) static SHAPES: [&[Aabb]; 93] = [
&[],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5625, 1.0)],
&[Aabb::new(0.0, 0.25, 0.0, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.75, 1.0)],
&[Aabb::new(0.0, 0.0, 0.25, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.75)],
&[Aabb::new(0.25, 0.0, 0.0, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.75, 1.0, 1.0)],
&[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, 1.0)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375)],
&[Aabb::new(0.0, 0.0, 0.8125, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.1875)],
&[Aabb::new(0.8125, 0.0, 0.0, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.375, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.875, 1.0)],
&[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.9375, 0.9375)],
&[Aabb::new(0.375, 0.0, 0.375, 0.625, 1.5, 0.625)],
&[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.1875, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.3125, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.4375, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.5625, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.6875, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.8125, 0.0, 0.0625, 0.9375, 0.5, 0.9375)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.1875, 1.0)],
&[Aabb::new(0.0, 0.8125, 0.0, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.375, 1.0, 1.5, 0.625)],
&[Aabb::new(0.375, 0.0, 0.0, 0.625, 1.5, 1.0)],
&[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)],
&[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)],
&[Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375)],
&[Aabb::new(0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125)],
&[Aabb::new(0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375)],
&[Aabb::new(0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625)],
&[Aabb::new(0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625)],
&[Aabb::new(0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375)],
&[Aabb::new(0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875)],
&[Aabb::new(0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375)],
&[Aabb::new(0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875)],
&[Aabb::new(0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375)],
&[Aabb::new(0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75)],
&[Aabb::new(0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625)],
&[Aabb::new(0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75)],
&[Aabb::new(0.25, 0.0, 0.25, 0.75, 1.5, 0.75)],
&[Aabb::new(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875)],
&[Aabb::new(0.25, 0.25, 0.5, 0.75, 0.75, 1.0)],
&[Aabb::new(0.25, 0.0, 0.25, 0.75, 0.5, 0.75)],
&[Aabb::new(0.25, 0.25, 0.0, 0.75, 0.75, 0.5)],
&[Aabb::new(0.5, 0.25, 0.25, 1.0, 0.75, 0.75)],
&[Aabb::new(0.0, 0.25, 0.25, 0.5, 0.75, 0.75)],
&[Aabb::new(0.125, 0.0, 0.0, 0.875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.125, 1.0, 1.0, 0.875)],
&[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)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0625, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.8125, 1.0)],
&[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)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.875, 1.0, 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.0, 0.125, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 1.0, 0.015625, 1.0)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[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)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
&[Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0)],
];
pub(crate) static BLOCK_SHAPE_DEPENDENCY: [ShapeDependency; 198] = [
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::BlockEntity,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::Neighbours(NeighbourShape::Chest),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Door),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Door),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Pane),
ShapeDependency::Neighbours(NeighbourShape::Pane),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Wall),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Chest),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Pane),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Stairs),
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::None,
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::Neighbours(NeighbourShape::Fence),
ShapeDependency::Neighbours(NeighbourShape::Door),
ShapeDependency::Neighbours(NeighbourShape::Door),
ShapeDependency::Neighbours(NeighbourShape::Door),
ShapeDependency::Neighbours(NeighbourShape::Door),
ShapeDependency::Neighbours(NeighbourShape::Door),
];
/// Shape index per raw state `id << 4 | meta`.
pub(crate) static STATE_SHAPE: [u8; 3168] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 3, 4, 5, 6, 7, 8, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 3, 4, 5, 6, 7, 8, 0, 0,
77, 78, 79, 80, 81, 82, 0, 0, 77, 78, 79, 80, 81, 82, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70, 70, 70, 70, 70, 70, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 86, 86, 86, 0, 0, 0, 0,
0, 0, 71, 72, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 87, 87, 87, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
75, 24, 25, 26, 9, 27, 4, 28, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31, 32, 33, 34, 35, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
38, 38, 38, 38, 20, 22, 23, 21, 39, 39, 39, 39, 20, 22, 23, 21,
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 0, 0,
43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68, 68, 68, 68, 69, 69, 69, 69, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9, 9, 9, 9, 9, 9, 0, 0, 10, 10, 10, 10, 10, 10, 0, 0,
46, 47, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 60, 59, 61, 62, 63, 0, 0, 60, 60, 59, 61, 62, 63, 0, 0,
64, 65, 64, 65, 64, 65, 64, 65, 64, 65, 64, 65, 0, 0, 0, 0,
0, 0, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
66, 0, 66, 66, 66, 66, 0, 0, 66, 0, 66, 66, 66, 66, 0, 0,
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
38, 38, 38, 38, 20, 22, 23, 21, 39, 39, 39, 39, 20, 22, 23, 21,
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 13, 14, 11, 15, 16, 17, 18, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
9, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
40, 41, 40, 41, 0, 0, 0, 0, 40, 41, 40, 41, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 88, 88, 88, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 89, 89, 89, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 90, 90, 90, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 91, 91, 91, 0, 0, 0, 0,
21, 22, 23, 20, 22, 23, 20, 21, 21, 92, 92, 92, 0, 0, 0, 0,
];
/// Float world-coordinate rule sets (index 0 = none, plain double placement).
pub(crate) static WORLD_COORDS: [Option<&[WorldCoords]>; 20] = [
None,
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.0 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.125 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.25 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.375 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.5 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.625 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.75 }, WorldCoord::Double]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 0, term: 0.875 }, WorldCoord::Double]]),
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 }]]),
Some(&[[WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Double, WorldCoord::Float { int_offset: 1, term: -0.125 }, WorldCoord::Double]]),
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 }]]),
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 }]]),
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 }]]),
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 }]]),
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 }]]),
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 }]]),
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 }]]),
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 }]]),
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]]),
];
/// Index into `WORLD_COORDS` per raw state.
pub(crate) static STATE_WORLD_COORDS: [u8; 3168] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11, 12, 13, 14, 15, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
18, 19, 18, 19, 0, 0, 0, 0, 18, 19, 18, 19, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
/// Vanilla per-block flags (1.8.9 oracle `block` lines).
pub(crate) static VANILLA_PROPS: [VanillaProps; 198] = [
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
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 } },
];
/// Distinct 1.8.9 selection (ray-test) bounds, block-local (oracle).
pub(crate) static SELECTION_BOUNDS: [Aabb; 112] = [
Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.09999999403953552, 0.0, 0.09999999403953552, 0.8999999761581421, 0.800000011920929, 0.8999999761581421),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.5625, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.125, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.625, 1.0),
Aabb::new(0.0, 0.25, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.75, 1.0),
Aabb::new(0.0, 0.0, 0.25, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.75),
Aabb::new(0.25, 0.0, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 0.75, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.25, 1.0),
Aabb::new(0.0, 0.75, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.25),
Aabb::new(0.0, 0.0, 0.75, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 0.25, 1.0, 1.0),
Aabb::new(0.75, 0.0, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.6000000238418579, 0.699999988079071),
Aabb::new(0.30000001192092896, 0.0, 0.30000001192092896, 0.699999988079071, 0.4000000059604645, 0.699999988079071),
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, 1.0),
Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.875, 0.9375),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.0625, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.9375, 1.0),
Aabb::new(0.25, 0.0, 0.25, 0.75, 1.0, 0.75),
Aabb::new(0.0, 0.0, 0.0, 0.1875, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.1875),
Aabb::new(0.8125, 0.0, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.8125, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.875, 1.0, 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.0, 0.125, 1.0, 1.0),
Aabb::new(0.0, 0.28125, 0.875, 1.0, 0.78125, 1.0),
Aabb::new(0.0, 0.28125, 0.0, 1.0, 0.78125, 0.125),
Aabb::new(0.875, 0.28125, 0.0, 1.0, 0.78125, 1.0),
Aabb::new(0.0, 0.28125, 0.0, 0.125, 0.78125, 1.0),
Aabb::new(0.25, 0.4000000059604645, 0.25, 0.75, 1.0, 0.75),
Aabb::new(0.0, 0.20000000298023224, 0.3125, 0.375, 0.800000011920929, 0.6875),
Aabb::new(0.625, 0.20000000298023224, 0.3125, 1.0, 0.800000011920929, 0.6875),
Aabb::new(0.3125, 0.20000000298023224, 0.0, 0.6875, 0.800000011920929, 0.375),
Aabb::new(0.3125, 0.20000000298023224, 0.625, 0.6875, 0.800000011920929, 1.0),
Aabb::new(0.25, 0.0, 0.25, 0.75, 0.6000000238418579, 0.75),
Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.0625, 0.9375),
Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.03125, 0.9375),
Aabb::new(0.3125, 0.875, 0.375, 0.6875, 1.0, 0.625),
Aabb::new(0.0, 0.375, 0.3125, 0.125, 0.625, 0.6875),
Aabb::new(0.875, 0.375, 0.3125, 1.0, 0.625, 0.6875),
Aabb::new(0.3125, 0.375, 0.0, 0.6875, 0.625, 0.125),
Aabb::new(0.3125, 0.375, 0.875, 0.6875, 0.625, 1.0),
Aabb::new(0.3125, 0.0, 0.375, 0.6875, 0.125, 0.625),
Aabb::new(0.3125, 0.9375, 0.375, 0.6875, 1.0, 0.625),
Aabb::new(0.0, 0.375, 0.3125, 0.0625, 0.625, 0.6875),
Aabb::new(0.9375, 0.375, 0.3125, 1.0, 0.625, 0.6875),
Aabb::new(0.3125, 0.375, 0.0, 0.6875, 0.625, 0.0625),
Aabb::new(0.3125, 0.375, 0.9375, 0.6875, 0.625, 1.0),
Aabb::new(0.3125, 0.0, 0.375, 0.6875, 0.0625, 0.625),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.375, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.875, 1.0),
Aabb::new(0.125, 0.0, 0.125, 0.875, 1.0, 0.875),
Aabb::new(0.375, 0.0, 0.375, 0.625, 1.0, 0.625),
Aabb::new(0.0, 0.0, 0.375, 1.0, 1.0, 0.625),
Aabb::new(0.375, 0.0, 0.0, 0.625, 1.0, 1.0),
Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.1875, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.3125, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.4375, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.5625, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.6875, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.8125, 0.0, 0.0625, 0.9375, 0.5, 0.9375),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.1875, 1.0),
Aabb::new(0.0, 0.8125, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.125, 0.625),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.25, 0.625),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.375, 0.625),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.5, 0.625),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.625, 0.625),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.75, 0.625),
Aabb::new(0.375, 0.0, 0.375, 0.625, 0.875, 0.625),
Aabb::new(1.0, 1.0, 1.0, 0.0, 0.0, 0.0),
Aabb::new(0.0, 0.0, 0.9375, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 0.0625, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 1.0, 0.0625),
Aabb::new(0.9375, 0.0, 0.0, 1.0, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.015625, 1.0),
Aabb::new(0.0625, 0.0, 0.0625, 0.9375, 1.0, 0.9375),
Aabb::new(0.375, 0.4375, 0.6875, 0.625, 0.75, 0.9375),
Aabb::new(0.0625, 0.4375, 0.375, 0.3125, 0.75, 0.625),
Aabb::new(0.375, 0.4375, 0.0625, 0.625, 0.75, 0.3125),
Aabb::new(0.6875, 0.4375, 0.375, 0.9375, 0.75, 0.625),
Aabb::new(0.3125, 0.3125, 0.5625, 0.6875, 0.75, 0.9375),
Aabb::new(0.0625, 0.3125, 0.3125, 0.4375, 0.75, 0.6875),
Aabb::new(0.3125, 0.3125, 0.0625, 0.6875, 0.75, 0.4375),
Aabb::new(0.5625, 0.3125, 0.3125, 0.9375, 0.75, 0.6875),
Aabb::new(0.25, 0.1875, 0.4375, 0.75, 0.75, 0.9375),
Aabb::new(0.0625, 0.1875, 0.25, 0.5625, 0.75, 0.75),
Aabb::new(0.25, 0.1875, 0.0625, 0.75, 0.75, 0.5625),
Aabb::new(0.4375, 0.1875, 0.25, 0.9375, 0.75, 0.75),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.09375, 1.0),
Aabb::new(0.0, 0.0625, 0.0, 1.0, 0.15625, 1.0),
Aabb::new(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875),
Aabb::new(0.25, 0.0, 0.25, 0.75, 0.5, 0.75),
Aabb::new(0.25, 0.25, 0.5, 0.75, 0.75, 1.0),
Aabb::new(0.25, 0.25, 0.0, 0.75, 0.75, 0.5),
Aabb::new(0.5, 0.25, 0.25, 1.0, 0.75, 0.75),
Aabb::new(0.0, 0.25, 0.25, 0.5, 0.75, 0.75),
Aabb::new(0.125, 0.0, 0.0, 0.875, 1.0, 1.0),
Aabb::new(0.0, 0.0, 0.125, 1.0, 1.0, 0.875),
Aabb::new(0.0, 0.0, 0.875, 1.0, 0.78125, 1.0),
Aabb::new(0.0, 0.0, 0.0, 1.0, 0.78125, 0.125),
Aabb::new(0.875, 0.0, 0.0, 1.0, 0.78125, 1.0),
Aabb::new(0.0, 0.0, 0.0, 0.125, 0.78125, 1.0),
];
/// Selection bounds index per raw state.
pub(crate) static STATE_SELECTION: [u8; 3168] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 7, 8, 9, 10, 0, 0,
11, 12, 13, 14, 15, 16, 0, 0, 11, 12, 13, 14, 15, 16, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
0, 0, 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 33, 34, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
37, 38, 39, 40, 41, 42, 42, 37, 37, 38, 39, 40, 41, 42, 42, 37,
43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
45, 46, 47, 48, 49, 50, 0, 0, 51, 52, 53, 54, 55, 56, 0, 0,
3, 11, 57, 19, 4, 6, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63, 64, 65, 66, 67, 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70, 70, 70, 70, 28, 26, 27, 25, 71, 71, 71, 71, 28, 26, 27, 25,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
72, 73, 74, 75, 76, 77, 78, 60, 0, 0, 0, 0, 0, 0, 0, 0,
72, 73, 74, 75, 76, 77, 78, 60, 0, 0, 0, 0, 0, 0, 0, 0,
79, 80, 81, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19, 19, 19, 19, 19, 19, 0, 0, 20, 20, 20, 20, 20, 20, 0, 0,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
40, 39, 41, 38, 40, 39, 41, 38, 40, 39, 41, 38, 40, 39, 41, 38,
98, 98, 19, 19, 98, 98, 99, 99, 98, 98, 19, 19, 98, 98, 99, 99,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0,
45, 46, 47, 48, 49, 50, 0, 0, 51, 52, 53, 54, 55, 56, 0, 0,
101, 101, 102, 103, 104, 105, 0, 0, 101, 101, 102, 103, 104, 105, 0, 0,
106, 107, 106, 107, 106, 107, 106, 107, 106, 107, 106, 107, 0, 0, 0, 0,
0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 4, 4, 4, 4, 0, 0, 3, 3, 4, 4, 4, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
70, 70, 70, 70, 28, 26, 27, 25, 71, 71, 71, 71, 28, 26, 27, 25,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
0, 0, 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
25, 26, 27, 28, 26, 27, 28, 25, 25, 25, 25, 25, 0, 0, 0, 0,
];
/// Per raw state: bit 0 canCollide(state, false), 1 canCollide(state, true), 2 has a collision box.
pub(crate) static STATE_SELECTION_FLAGS: [u8; 3168] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 7, 7,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 7, 7, 7, 7, 0, 0, 7, 0, 7, 7, 7, 7, 0, 0,
7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0,
7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, 7, 7, 7, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0,
7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
7, 7, 7, 7, 3, 3, 3, 3, 7, 7, 7, 7, 3, 3, 3, 3,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0,
];
/// Bit `m` set = meta `m` is a registered state of the block (from the 1.8.9 oracle).
pub(crate) static REGISTERED_METAS: [u16; 198] = [
1, 127, 1, 7, 1, 63, 16191, 1, 65535, 65535, 65535, 65535, 3, 1, 1, 1,
1, 65535, 65535, 3, 1, 1, 1, 16191, 7, 1, 65295, 16191, 16191, 16191, 1, 7,
1, 16191, 16191, 65535, 16191, 1, 511, 1, 1, 1, 1, 65535, 65535, 1, 3, 1,
1, 1, 62, 65535, 1, 255, 60, 65535, 1, 1, 1, 255, 255, 60, 60, 65535,
4095, 60, 1023, 255, 60, 65535, 3, 4095, 3, 1, 1, 62, 62, 16191, 255, 1,
1, 65535, 1, 65535, 3, 1, 15, 1, 1, 1, 6, 15, 127, 65535, 65535, 65535,
65535, 63, 15, 51199, 51199, 1, 1, 1, 255, 255, 65535, 65535, 255, 255, 1, 1,
1, 1, 255, 15, 1, 255, 15, 1, 255, 1, 1, 1, 1, 63, 16191, 4095,
255, 1, 60, 65535, 65535, 1, 255, 255, 255, 3, 1, 3, 65535, 255, 255, 16191,
16191, 4095, 60, 65535, 65535, 65535, 65535, 65535, 1, 1, 15677, 31, 255, 16191, 16191, 65535,
65535, 13107, 13107, 255, 255, 1, 1, 65535, 7, 1, 273, 65535, 1, 1, 1, 3903,
65535, 60, 65535, 7, 255, 257, 257, 65535, 65535, 65535, 65535, 65535, 1, 1, 1, 1,
1, 4095, 4095, 4095, 4095, 4095,
];