Source code for scfile.formats.mca.mapping

BLOCKS: dict[int, int] = {
    # Barrier
    178: 166,  # daylight sensor
    # Air
    88: 0,  # soul sand -> (light)
    89: 0,  # glowstone -> (light)
    111: 0,  # lily pad
    113: 0,  # nether fence
    114: 0,  # nether stairs
    117: 0,  # brewing stand
    127: 0,  # cocoa
    251: 0,  # white concrete
    255: 0,  # structure block
    39: 0,  # mushroom
    40: 0,  # red mushroom
    115: 0,  # wart
    118: 0,  # cauldron
    # Stone
    101: 1,  # iron bars
    119: 1,  # end portal
    183: 1,  # spruce
    203: 1,  # purpur stairs
    27: 1,  # power rail
    90: 1,  # nether portal
    # Grass
    141: 2,  # carrots
    # Dirt
    142: 3,  # potatos
    143: 3,  # wood button
    146: 3,  # trap chest
    54: 3,  # chest
    # Cobblestone
    128: 4,  # sandstone stairs
    149: 4,  # comporator (off)
    180: 4,  # red sandstone stairs
    200: 4,  # chorus
    205: 4,  # purpur slab
    223: 4,  # yellow shulker
    28: 4,  # detector rail
    # Planks
    99: 5,  # mushroom block
    # Water
    179: 9,  # red sandstone
    # Wool
    198: 35,  # end rod
    62: 35,  # furnace (on)
    # Bricks
    250: 45,  # black glazed
    # Obsidian
    181: 49,  # double red sandstone slab
    201: 49,  # purpur block
    202: 49,  # purpur pillar
    230: 49,  # blue shulker
    50: 49,  # torch
    53: 49,  # oak stairs
    61: 49,  # furnace (off)
    # Diamond
    66: 57,  # rail
    # Ladder
    109: 65,  # stone bricks stairs
    # Netherrack
    194: 87,  # birch door
    # Iron Bars
    193: 101,  # spruce door
    # Nether Bricks
    182: 112,  # red sandstone slab
    # Grass Deadbush
    132: 32,  # tripline
    133: 32,  # emerald
    214: 32,  # wart block
    226: 32,  # gray shulker
    244: 32,  # cyan glazed
    248: 32,  # green glazed
    # Grass Dandelion
    213: 37,  # magma
    216: 37,  # bone block
    225: 37,  # pink shulker
    227: 37,  # light gray shulker
    245: 37,  # purple glazed
    246: 37,  # blue glazed
    252: 37,  # white powder
    124: 37,  # lamp (on)
    # Grass Poppy
    129: 38,  # emerald ore
    123: 38,  # lamp (off)
    116: 38,  # enchantment table
    121: 38,  # endstone
    122: 38,  # dragon egg
    210: 38,  # command block (repeat)
    211: 38,  # command block (chain)
    240: 38,  # lime glazed
    241: 38,  # pink glazed
    242: 38,  # gray glazed
    247: 38,  # brown glazed
    # Grass Mushroom
    243: 39,  # light gray glazed
    # Grass Canes
    212: 83,  # forsted ice
    215: 83,  # red nether bricks
    221: 83,  # magenta shulker
    222: 83,  # magenta shulker
    228: 83,  # cyan shulker
    229: 83,  # shulker
    249: 83,  # red glazed
    # Grass Vines
    236: 106,  # orange glazed
    237: 106,  # magenta glazed
    238: 106,  # light blue glazed
    239: 106,  # yellow glazed
    # Gates -> Fences
    107: 85,  # oak
    189: 113,  # birch fence
    184: 189,  # birch
    185: 190,  # jungle
    186: 191,  # dark oak
    187: 192,  # acacia
}


[docs] def build_blocks_mapping(mapping: dict[int, int]) -> bytes: table = list(range(256)) for old, new in mapping.items(): table[old] = new return bytes(table)
BLOCKS_MAPPING = build_blocks_mapping(BLOCKS)