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