from color import hsl_colors

# List of blocks to ignore
# Uncomment all the lines to show underground structures

block_ignore = [
    'minecraft:air',  # At least this one
    'minecraft:cave_air'
#    'cave_air', 'water', 'lava', 'snow', 'ice',
#    'grass', 'tall_grass', 'dead_bush',
#    'seagrass', 'tall_seagrass', 'kelp', 'kelp_plant',
#    'dandelion', 'poppy', 'oxeye_daisy', 'white_tulip',
#    'azure_bluet', 'lilac', 'rose_bush', 'peony', 'blue_orchid',
#    'lily_pad', 'sugar_cane', 'vine', 'pumpkin', 'cactus',
#    'wheat', 'potatoes', 'beetroots', 'carrots',
#    'oak_leaves', 'dark_oak_leaves', 'birch_leaves',
#    'acacia_leaves', 'spruce_leaves',
#    'oak_log', 'dark_oak_log', 'birch_log',
#    'acacia_log', 'spruce_log',
#    'brown_mushroom', 'red_mushroom',
#    'brown_mushroom_block', 'red_mushroom_block', 'mushroom_stem',
#    'grass_block', 'grass_path', 'farmland', 'dirt',
#    'stone', 'sand', 'gravel', 'clay',
#    'sandstone', 'diorite', 'andesite', 'granite', 'obsidian',
#    'coal_ore', 'iron_ore', 'gold_ore', 'diamond_ore',
#    'redstone_ore', 'lapis_ore', 'emerald_ore',
#    'cobweb',
    ]


# Map of block colors from names
# Legacy block numeric identifiers are now hidden by Block class
# and mapped to alpha identifiers in best effort

block_colors = {
    'minecraft:acacia_slab':            hsl_colors['acacia'],
    'minecraft:acacia_trapdoor':        hsl_colors['acacia'],
    'minecraft:acacia_stairs':          hsl_colors['acacia'],
    'minecraft:acacia_wall_sign':       hsl_colors['acacia'],
    'minecraft:acacia_fence':           hsl_colors['acacia'],
    'minecraft:acacia_leaves':          hsl_colors['leaves'],
    'minecraft:acacia_log':             hsl_colors['log'],
    'minecraft:acacia_planks':          hsl_colors['acacia'],
    'minecraft:acacia_button':          hsl_colors['acacia'],
    'minecraft:air':                    hsl_colors['black'],
    'minecraft:allium':                 hsl_colors['magenta'],
    'minecraft:amethyst_block':         hsl_colors['purple'],
    'minecraft:andesite':               hsl_colors['grey'],
    'minecraft:attached_melon_stem':    hsl_colors['green'],
    'minecraft:attached_pumpkin_stem':  hsl_colors['green'],
    'minecraft:azalea':                 hsl_colors['leaves'],
    'minecraft:azalea_leaves':          hsl_colors['leaves'],
    'minecraft:azure_bluet':            hsl_colors['light_blue'],
    'minecraft:bamboo':                 hsl_colors['lime'],
    'minecraft:barrel':                 hsl_colors['spruce'],
    'minecraft:bedrock':                hsl_colors['dim_grey'],
    'minecraft:beehive':                hsl_colors['oak'],
    'minecraft:beetroots':              hsl_colors['green'],
    'minecraft:bell':                   hsl_colors['yellow'],
    'minecraft:big_dripleaf':           hsl_colors['green'],
    'minecraft:birch_fence':            hsl_colors['birch'],
    'minecraft:birch_fence_gate':       hsl_colors['birch'],
    'minecraft:birch_leaves':           hsl_colors['leaves'],
    'minecraft:birch_log':              hsl_colors['white'],
    'minecraft:birch_planks':           hsl_colors['birch'],
    'minecraft:birch_sign':             hsl_colors['birch'],
    'minecraft:birch_slab':             hsl_colors['birch'],
    'minecraft:birch_stairs':           hsl_colors['birch'],
    'minecraft:birch_trapdoor':         hsl_colors['birch'],
    'minecraft:black_bed':              hsl_colors['black'],
    'minecraft:black_wool':             hsl_colors['black'],
    'minecraft:blue_ice':               hsl_colors['blue_ice'],
    'minecraft:blue_orchid':            hsl_colors['light_blue'],
    'minecraft:blue_terracotta':        hsl_colors['blue_terracotta'],
    'minecraft:bone_block':             hsl_colors['white'],
    'minecraft:bookshelf':              hsl_colors['oak'],
    'minecraft:brick_slab':             hsl_colors['brick'],
    'minecraft:brick_stairs':           hsl_colors['brick'],
    'minecraft:bricks':                 hsl_colors['brick'],
    'minecraft:brown_mushroom':         hsl_colors['mushroom'],
    'minecraft:brown_mushroom_block':   hsl_colors['mushroom'],
    'minecraft:bubble_column':          hsl_colors['water'],
    'minecraft:budding_amethyst':       hsl_colors['purple'],
    'minecraft:cactus':                 hsl_colors['green'],
    'minecraft:campfire':               hsl_colors['orange'],
    'minecraft:carrots':                hsl_colors['lime'],
    'minecraft:cave_air':               hsl_colors['black'],
    'minecraft:carved_pumpkin':         hsl_colors['orange'],
    'minecraft:chest':                  hsl_colors['oak'],
    'minecraft:chorus_flower':          hsl_colors['pink'],
    'minecraft:chorus_plant':           hsl_colors['pink'],
    'minecraft:chipped_anvil':          hsl_colors['dim_grey'],
    'minecraft:chiseled_sandstone':     hsl_colors['sand'],
    'minecraft:chiseled_stone_bricks':  hsl_colors['stone'],
    'minecraft:chiseled_quartz_block':  hsl_colors['white'],
    'minecraft:clay':                   hsl_colors['clay'],
    'minecraft:coal_ore':               hsl_colors['dim_grey'],
    'minecraft:coal_block':             hsl_colors['dirt'],
    'minecraft:coarse_dirt':            hsl_colors['dirt'],
    'minecraft:cobblestone':            hsl_colors['stone'],
    'minecraft:cobblestone_slab':       hsl_colors['stone'],
    'minecraft:cobblestone_stairs':     hsl_colors['stone'],
    'minecraft:cobblestone_wall':       hsl_colors['stone'],
    'minecraft:cobweb':                 hsl_colors['white'],
    'minecraft:cocoa':                  hsl_colors['brown'],
    'minecraft:comparator':             hsl_colors['light_grey'],
    'minecraft:composter':              hsl_colors['spruce'],
    'minecraft:copper_ore':             hsl_colors['dim_grey'],
    'minecraft:cornflower':             hsl_colors['yellow'],
    'minecraft:crafting_table':         hsl_colors['oak'],
    'minecraft:cracked_stone_bricks':   hsl_colors['stone'],
    'minecraft:crimson_hyphae':         hsl_colors['red'],
    'minecraft:crimson_nylium':         hsl_colors['red'],
    'minecraft:crying_obsidian':        hsl_colors['black'],
    'minecraft:cut_sandstone':          hsl_colors['sand'],
    'minecraft:cyan_carpet':            hsl_colors['cyan'],
    'minecraft:dandelion':              hsl_colors['yellow'],
    'minecraft:dark_oak_fence':         hsl_colors['dark_oak'],
    'minecraft:dark_oak_fence_gate':    hsl_colors['dark_oak'],
    'minecraft:dark_oak_leaves':        hsl_colors['leaves'],
    'minecraft:dark_oak_log':           hsl_colors['dark_oak'],
    'minecraft:dark_oak_planks':        hsl_colors['dark_oak'],
    'minecraft:dark_oak_wall_sign':     hsl_colors['dark_oak'],
    'minecraft:dark_oak_sapling':       hsl_colors['leaves'],
    'minecraft:dark_oak_stairs':        hsl_colors['dark_oak'],
    'minecraft:dark_oak_slab':          hsl_colors['dark_oak'],
    'minecraft:dark_oak_trapdoor':      hsl_colors['dark_oak'],
    'minecraft:daylight_detector':      hsl_colors['light_grey'],
    'minecraft:dead_brain_coral_block': hsl_colors['light_grey'],
    'minecraft:dead_bush':              hsl_colors['brown'],
    'minecraft:deepslate':              hsl_colors['dim_grey'],
    'minecraft:diorite':                hsl_colors['white'],
    "minecraft:diorite_stairs":         hsl_colors['white'],
    'minecraft:diorite_wall':           hsl_colors['white'],
    'minecraft:dirt':                   hsl_colors['dirt'],
    'minecraft:dirt_path':              hsl_colors['path'],
    'minecraft:dripstone_block':        hsl_colors['stone'],
    'minecraft:emerald_block':          hsl_colors['lime'],
    'minecraft:emerald_ore':            hsl_colors['grey'],
    'minecraft:enchanting_table':       hsl_colors['red'],
    'minecraft:end_portal_frame':       hsl_colors['grey'],
    'minecraft:end_rod':                hsl_colors['white'],
    'minecraft:ender_chest':            hsl_colors['black'],
    'minecraft:farmland':               hsl_colors['dirt'],
    'minecraft:fern':                   hsl_colors['grass'],
    'minecraft:fire':                   hsl_colors['orange'],
    'minecraft:flower_pot':             hsl_colors['brown'],
    'minecraft:flowering_azalea':       hsl_colors['leaves'],
    'minecraft:flowering_azalea_leaves': hsl_colors['leaves'],
    'minecraft:flowing_lava':           hsl_colors['lava'],
    'minecraft:flowing_water':          hsl_colors['water'],
    'minecraft:furnace':                hsl_colors['dim_grey'],
    'minecraft:glass_pane':             hsl_colors['light_grey'],
    'minecraft:glass':                  hsl_colors['light_grey'],
    'minecraft:glow_lichen':            hsl_colors['dim_grey'],
    'minecraft:glowstone':              hsl_colors['yellow'],
    'minecraft:gold_block':             hsl_colors['yellow'],
    'minecraft:gold_ore':               hsl_colors['light_grey'],
    'minecraft:granite':                hsl_colors['orange'],
    'minecraft:granite_wall':           hsl_colors['orange'],
    'minecraft:grass':                  hsl_colors['grass'],
    'minecraft:grass_block':            hsl_colors['grass'],
    'minecraft:grass_path':             hsl_colors['brown'],
    'minecraft:gravel':                 hsl_colors['light_grey'],
    'minecraft:green_carpet':           hsl_colors['green'],
    'minecraft:green_wall_banner':      hsl_colors['green'],
    'minecraft:grindstone':             hsl_colors['dim_grey'],
    'minecraft:hay_block':              hsl_colors['wheat'],
    'minecraft:hopper':                 hsl_colors['dim_grey'],
    'minecraft:ice':                    hsl_colors['ice'],
    'minecraft:infested_stone':         hsl_colors['stone'],
    'minecraft:iron_ore':               hsl_colors['dim_grey'],
    'minecraft:iron_bars':              hsl_colors['light_grey'],
    'minecraft:iron_trapdoor':          hsl_colors['light_grey'],
    'minecraft:jack_o_lantern':         hsl_colors['orange'],
    'minecraft:jungle_button':          hsl_colors['jungle'],
    'minecraft:jungle_trapdoor':        hsl_colors['jungle'],
    'minecraft:jungle_fence':           hsl_colors['jungle'],
    'minecraft:jungle_fence_gate':      hsl_colors['jungle'],
    'minecraft:jungle_leaves':          hsl_colors['leaves'],
    'minecraft:jungle_log':             hsl_colors['log'],
    'minecraft:jungle_planks':          hsl_colors['jungle'],
    'minecraft:jungle_slab':            hsl_colors['jungle'],
    'minecraft:jungle_stairs':          hsl_colors['jungle'],
    'minecraft:kelp':                   hsl_colors['green'],
    'minecraft:ladder':                 hsl_colors['oak'],
    'minecraft:lantern':                hsl_colors['dim_grey'],
    'minecraft:lapis_block':            hsl_colors['blue'],
    'minecraft:lapis_ore':              hsl_colors['grey'],
    'minecraft:large_fern':             hsl_colors['green'],
    'minecraft:lava':                   hsl_colors['lava'],
    'minecraft:lectern':                hsl_colors['oak'],
    'minecraft:lever':                  hsl_colors['stone'],
    'minecraft:lilac':                  hsl_colors['pink'],
    'minecraft:lily_pad':               hsl_colors['green'],
    'minecraft:lily_of_the_valley':     hsl_colors['white'],
    'minecraft:light_gray_bed':         hsl_colors['light_grey'],
    'minecraft:light_blue_stained_glass': hsl_colors['light_blue'],
    'minecraft:light_gray_carpet':      hsl_colors['light_grey'],
    'minecraft:light_gray_terracotta':  hsl_colors['light_grey_terracotta'],
    'minecraft:lit_pumpkin':            hsl_colors['orange'],
    'minecraft:magma_block':            hsl_colors['lava'],
    'minecraft:melon':                  hsl_colors['lime'],
    'minecraft:melon_stem':             hsl_colors['green'],
    'minecraft:moss_block':             hsl_colors['green'],
    'minecraft:moss_carpet':            hsl_colors['green'],
    'minecraft:mossy_cobblestone':      hsl_colors['stone'],
    'minecraft:mossy_cobblestone_wall': hsl_colors['stone'],
    'minecraft:mossy_stone_bricks':     hsl_colors['stone'],
    'minecraft:mossy_stone_brick_slab': hsl_colors['stone'],
    'minecraft:mossy_stone_brick_stairs': hsl_colors['stone'],
    'minecraft:mossy_stone_brick_wall': hsl_colors['stone'],
    'minecraft:mushroom_stem':          hsl_colors['mushroom'],
    'minecraft:mycelium':               hsl_colors['mycelium'],
    'minecraft:nether_bricks':          hsl_colors['netherbrick'],
    'minecraft:nether_brick_slab':      hsl_colors['netherbrick'],
    'minecraft:nether_brick_stairs':    hsl_colors['netherbrick'],
    'minecraft:netherrack':             hsl_colors['red'],
    'minecraft:nether_wart_block':      hsl_colors['red'],
    'minecraft:oak_button':             hsl_colors['oak'],
    'minecraft:oak_door':               hsl_colors['oak'],
    'minecraft:oak_fence':              hsl_colors['oak'],
    'minecraft:oak_fence_gate':         hsl_colors['oak'],
    'minecraft:oak_leaves':             hsl_colors['leaves'],
    'minecraft:oak_log':                hsl_colors['log'],
    'minecraft:oak_planks':             hsl_colors['oak'],
    'minecraft:oak_pressure_plate':     hsl_colors['oak'],
    'minecraft:oak_sapling':            hsl_colors['leaves'],
    'minecraft:oak_sign':               hsl_colors['oak'],
    'minecraft:oak_slab':               hsl_colors['oak'],
    'minecraft:oak_stairs':             hsl_colors['oak'],
    'minecraft:oak_trapdoor':           hsl_colors['oak'],
    'minecraft:oak_wall_sign':          hsl_colors['oak'],
    'minecraft:obsidian':               hsl_colors['black'],
    'minecraft:orange_terracotta':      hsl_colors['orange_terracotta'],
    'minecraft:orange_tulip':           hsl_colors['orange'],
    'minecraft:oxeye_daisy':            hsl_colors['white'],
    'minecraft:packed_ice':             hsl_colors['packed_ice'],
    'minecraft:peony':                  hsl_colors['pink'],
    'minecraft:pink_tulip':             hsl_colors['pink'],
    'minecraft:pink_wall_banner':       hsl_colors['pink'],
    'minecraft:pointed_dripstone':      hsl_colors['stone'],
    'minecraft:poppy':                  hsl_colors['red'],
    'minecraft:podzol':                 hsl_colors['dirt'],
    'minecraft:polished_andesite':      hsl_colors['grey'],
    'minecraft:polished_diorite':       hsl_colors['white'],
    'minecraft:polished_granite':       hsl_colors['pink'],
    'minecraft:potatoes':               hsl_colors['green'],
    'minecraft:potted_allium':          hsl_colors['pink'],
    'minecraft:potted_azure_bluet':     hsl_colors['light_blue'],
    'minecraft:potted_dead_bush':       hsl_colors['brown'],
    'minecraft:potted_cactus':          hsl_colors['green'],
    'minecraft:potted_red_tulip':       hsl_colors['red'],
    'minecraft:prismarine':             hsl_colors['cyan'],
    'minecraft:prismarine_slab':        hsl_colors['cyan'],
    'minecraft:prismarine_stairs':      hsl_colors['cyan'],
    'minecraft:pumpkin':                hsl_colors['orange'],
    'minecraft:pumpkin_stem':           hsl_colors['green'],
    'minecraft:purple_wall_banner':     hsl_colors['purple'],
    'minecraft:purpur_block':           hsl_colors['pink'],
    'minecraft:purpur_slab':            hsl_colors['pink'],
    'minecraft:rail':                   hsl_colors['stone'],
    'minecraft:red_mushroom':           hsl_colors['red'],
    'minecraft:red_mushroom_block':     hsl_colors['red'],
    'minecraft:red_sand':               hsl_colors['orange'],
    'minecraft:red_wall_banner':        hsl_colors['red'],
    'minecraft:redstone_lamp':          hsl_colors['orange'],
    'minecraft:redstone_wall_torch':    hsl_colors['red'],
    'minecraft:redstone_wire':          hsl_colors['red'],
    'minecraft:redstone_block':         hsl_colors['red'],
    'minecraft:redstone_torch':         hsl_colors['red'],
    'minecraft:red_terracotta':         hsl_colors['red_terracotta'],
    'minecraft:red_tulip':              hsl_colors['red'],
    'minecraft:repeater':               hsl_colors['stone'],
    'minecraft:red_bed':                hsl_colors['red'],
    'minecraft:rooted_dirt':            hsl_colors['dirt'],
    'minecraft:rose_bush':              hsl_colors['red'],
    'minecraft:sugar_cane':             hsl_colors['lime'],
    'minecraft:sand':                   hsl_colors['sand'],
    'minecraft:sandstone':              hsl_colors['sand'],
    'minecraft:sandstone_slab':         hsl_colors['sand'],
    'minecraft:sandstone_stairs':       hsl_colors['sand'],
    'minecraft:sandstone_wall':         hsl_colors['sand'],
    'minecraft:shulker_box':            hsl_colors['pink'],
    'minecraft:scaffolding':            hsl_colors['wheat'],
    'minecraft:seagrass':               hsl_colors['grass'],
    'minecraft:sea_lantern':            hsl_colors['cyan'],
    'minecraft:sea_pickle':             hsl_colors['grass'],
    'minecraft:shroomlight':            hsl_colors['yellow'],
    'minecraft:sign':                   hsl_colors['oak'],
    'minecraft:slime_block':            hsl_colors['lime'],
    'minecraft:small_dripleaf':         hsl_colors['lime'],
    'minecraft:smoker':                 hsl_colors['spruce'],
    'minecraft:smooth_basalt':          hsl_colors['white'],
    'minecraft:smooth_sandstone':       hsl_colors['sand'],
    'minecraft:smooth_sandstone_stairs': hsl_colors['sand'],
    'minecraft:smooth_sandstone_slab':  hsl_colors['sand'],
    'minecraft:smooth_stone_slab':      hsl_colors['light_grey'],
    'minecraft:smooth_stone':           hsl_colors['stone'],
    'minecraft:snow':                   hsl_colors['snow'],
    'minecraft:snow_block':             hsl_colors['snow'],
    'minecraft:soul_sand':              hsl_colors['brown'],
    'minecraft:spawner':                hsl_colors['dim_grey'],
    'minecraft:spruce_button':          hsl_colors['spruce'],
    'minecraft:spruce_fence':           hsl_colors['spruce'],
    'minecraft:spruce_fence_gate':      hsl_colors['spruce'],
    'minecraft:spruce_leaves':          hsl_colors['leaves'],
    'minecraft:spruce_log':             hsl_colors['log'],
    'minecraft:spruce_stairs':          hsl_colors['spruce'],
    'minecraft:spruce_planks':          hsl_colors['spruce'],
    'minecraft:spruce_slab':            hsl_colors['spruce'],
    'minecraft:spruce_trapdoor':        hsl_colors['spruce'],
    'minecraft:spruce_wall_sign':       hsl_colors['spruce'],
    'minecraft:spruce_wood':            hsl_colors['log'],
    'minecraft:sticky_piston':          hsl_colors['stone'],
    'minecraft:stone':                  hsl_colors['stone'],
    'minecraft:stone_pressure_plate':   hsl_colors['stone'],
    'minecraft:stone_bricks':           hsl_colors['stone'],
    'minecraft:stone_brick_stairs':     hsl_colors['stone'],
    'minecraft:stone_brick_slab':       hsl_colors['stone'],
    'minecraft:stone_brick_wall':       hsl_colors['stone'],
    'minecraft:stone_button':           hsl_colors['stone'],
    'minecraft:stone_slab':             hsl_colors['stone'],
    'minecraft:stone_stairs':           hsl_colors['stone'],
    'minecraft:stripped_oak_wood':      hsl_colors['log'],
    'minecraft:stripped_spruce_wood':   hsl_colors['log'],
    'minecraft:sunflower':              hsl_colors['yellow'],
    'minecraft:sweet_berry_bush':       hsl_colors['green'],
    'minecraft:tall_grass':             hsl_colors['grass'],
    'minecraft:tall_seagrass':          hsl_colors['grass'],
    'minecraft:terracotta':             hsl_colors['terracotta'],
    'minecraft:torch':                  hsl_colors['yellow'],
    'minecraft:trapped_chest':          hsl_colors['oak'],
    'minecraft:tripwire':               hsl_colors['white'],
    'minecraft:tripwire_hook':          hsl_colors['grey'],
    'minecraft:twisting_vines':         hsl_colors['cyan'],
    'minecraft:vine':                   hsl_colors['grass'],
    'minecraft:wall_torch':             hsl_colors['yellow'],
    'minecraft:water':                  hsl_colors['water'],
    'minecraft:water_cauldron':         hsl_colors['water'],
    'minecraft:warped_roots':           hsl_colors['cyan'],
    'minecraft:warped_nylium':          hsl_colors['cyan'],
    'minecraft:warped_wart_block':      hsl_colors['cyan'],
    'minecraft:white_glazed_terracotta': hsl_colors['white_terracotta'],
    'minecraft:wheat':                  hsl_colors['wheat'],
    'minecraft:white_bed':              hsl_colors['white'],
    'minecraft:white_wool':             hsl_colors['white'],
    'minecraft:white_terracotta':       hsl_colors['white_terracotta'],
    'minecraft:white_tulip':            hsl_colors['white'],
    'minecraft:white_wall_banner':      hsl_colors['white'],
    'minecraft:yellow_terracotta':      hsl_colors['yellow_terracotta'],
    'minecraft:yellow_wool':            hsl_colors['yellow']
    }

