#     _________      __        __     ___       __     __________      ________        ______        __           
#    /  _____  \    |  |      |  |   |   \     |  |   |   _____  \    |__    __|      /  __  \      |  |          
#   /  /     \__\   |  |      |  |   |    \    |  |   |  |     \  \      |  |        /  /  \  \     |  |          
#  |  |             |  |      |  |   |  |  \   |  |   |  |      |  |     |  |       /  /    \  \    |  |          
#   \  \______      |  |      |  |   |  |\  \  |  |   |  |      |  |     |  |      |  |______|  |   |  |          
#    \______  \     |  |      |  |   |  | \  \ |  |   |  |      |  |     |  |      |   ______   |   |  |          
#           \  \    |  |      |  |   |  |  \  \|  |   |  |      |  |     |  |      |  |      |  |   |  |          
#  ___       |  |   |  |      |  |   |  |   \  |  |   |  |      |  |     |  |      |  |      |  |   |  |          
#  \  \_____/  /     \  \____/  /    |  |    \    |   |  |_____/  /    __|  |__    |  |      |  |   |  |_________ 
#   \_________/       \________/     |__|     \___|   |__________/    |________|   |__|      |__|   |____________|
#
#  General Public License v3.0. Copyright (C) 2026 GeForceLegend.
#  https://github.com/GeForceLegend/Sundial-Lite
#  https://www.gnu.org/licenses/gpl-3.0.en.html
#
#  Builtin hardcoded block list
#
#
#  `mc_Entity.x` is signed short integer (0b0000 0000 0000 0000)
#  Mod blocks defaultly will get -1 in 1.13 and above, but get positive value in 1.12.2 and below. Reserve 0-8191 for them and vanilla blocks.
#  Some mod blocks may get 10000+ id in high version defaultly. Use 8192-9999 as special treat range.
#
#  Common hardcode range starts at 16384 (0b0100 0000 0000 0000) and maximums at 32767 (0b0111 1111 1111 1111).
#  They will minus 16384, and using bits as feature flag. There are 14 bits available.
#  Currently there might be bits that does nothing. They may get used if I decide to add more hadrcode features like builtin PBR.
#
#  0b0000 0000 0000 0000
#    ^ (15) Not available, sign bit used by blocks do not in this file (use default -1 id).
#     ^ (14) Mark for blocks using bit feature flags without special handle.
#      ^^ (13~12) Emission flags. 0 = no emission, 1 = full emission, 2 = high contrast emission, 3 is reserved.
#         ^^^ (11~9) Plant flags. When total > 0, bit 11 used for subsurface scattering strength, 0 for leaves and 1 for thin plants.
#                    Bits 9~10 used for wave function. 0 is on-ground plants like grass, 1 is continues plants like leaves and vines,
#                    2 is higher part of on-ground plants, 3 is no wave.
#


##################################### Special range, 8192-9999 #####################################
# Water
block.8192 = \
#if MC_VERSION < 11300
             flowing_water \
#endif
#ifdef IRIS_TAG_SUPPORT
             %minecraft:water \
#endif
             water

# End portal/gateway
block.8193 = \
#if MC_VERSION >= 10900
            end_gateway \
#endif
            end_portal

# Water cauldron. Parts without vertex color will handled as common cauldron.
#if MC_VERSION >= 11700
block.8194 = water_cauldron
#else
block.8194 = cauldron
#endif

# Lava. Ignores rain wet effect.
block.8195 = \
#if MC_VERSION < 11300
            flowing_lava \
#endif
            lava

# Lava cauldron. Same as liquid lava for the lava face.
#if MC_VERSION >= 11700
block.8196 = lava_cauldron
#endif

# Brewing stand. Only center rod be emissive.
block.8197 = brewing_stand

# Glowing berries. Only berries be emissive.
#if MC_VERSION >= 11700
block.8198 = cave_vines:berries=true cave_vines_plant:berries=true
#endif

# Beacon. Only core be emissive.
block.8199 = beacon

# Enchanting table. Diamonds on the side be emissive.
#if MC_VERSION >= 11800
block.8200 = enchanting_table
#endif

# Candle cakes. Only candles be emissive.
#if MC_VERSION >= 11700
block.8201 = black_candle_cake:lit=true blue_candle_cake:lit=true brown_candle_cake:lit=true candle_cake:lit=true cyan_candle_cake:lit=true \
             gray_candle_cake:lit=true green_candle_cake:lit=true light_blue_candle_cake:lit=true light_gray_candle_cake:lit=true \
             lime_candle_cake:lit=true magenta_candle_cake:lit=true orange_candle_cake:lit=true pink_candle_cake:lit=true \
             purple_candle_cake:lit=true red_candle_cake:lit=true white_candle_cake:lit=true yellow_candle_cake:lit=true
#endif

#if MC_VERSION < 11300
block.8202 = lit_redstone_ore
#else
block.8202 = \
#if MC_VERSION >= 11700
             deepslate_redstone_ore:lit=true \
#endif
             redstone_ore:lit=true
#endif

#if MC_VERSION < 11300
block.8203 = lit_furnace
#else
block.8203 = \
#if MC_VERSION >= 11400
             blast_furnace:lit=true smoker:lit=true \
#endif
#if MC_VERSION >= 12005
             trial_spawner:ominous=false vault:ominous=false \
#else
             trial_spawner \
#endif
             furnace:lit=true
#endif

#if MC_VERSION >= 12005
block.8204 = trial_spawner:ominous=true vault:ominous=true
#endif

#if MC_VERSION >= 11900
block.8205 = sculk_catalyst
#endif

#if MC_VERSION >= 12000
block.8206 = pitcher_crop:half=lower
block.8207 = pitcher_crop:half=upper
#endif

#if MC_VERSION >= 11700
block.8209 = azalea flowering_azalea
#endif

block.8210 = vine

######################################## Special range ends ########################################

###################################### Common hardcode blocks ######################################
# 0b0100 0010 0000 0000 Thick plant style, leaf like wave block
#if MC_VERSION < 11300
block.16896 = leaves leaves2
#else
block.16896 = acacia_leaves birch_leaves dark_oak_leaves \
#if MC_VERSION >= 11700
              azalea_leaves flowering_azalea_leaves \
#endif
#if MC_VERSION >= 11900
              mangrove_leaves \
#endif
#if MC_VERSION >= 11904
              cherry_leaves \
#endif
#if MC_VERSION >= 12102
              pale_oak_leaves \
#endif
#ifdef IRIS_TAG_SUPPORT
              %minecraft:leaves \
#endif
              jungle_leaves oak_leaves spruce_leaves
#endif

# 0b0100 0110 0000 0000 Thick plant style, no wave block
#if MC_VERSION >= 11900
block.17920 = mangrove_roots
#endif

# 0b0100 1000 0000 0000 Thin plant style, on-ground lower wave block
block.18432 = carrots nether_wart \
#if MC_VERSION < 11300
              tallgrass yellow_flower red_flower double_plant:half=lower melon_stem:facing=up pumpkin_stem:facing=up \
#else
#if MC_VERSION >= 12003
              short_grass \
#else
              grass \
#endif
              allium azure_bluet blue_orchid dandelion fern large_fern:half=lower lilac:half=lower melon_stem orange_tulip oxeye_daisy \
              pumpkin_stem red_tulip peony:half=lower pink_tulip poppy rose_bush:half=lower sunflower:half=lower tall_grass:half=lower white_tulip \
#endif
#if MC_VERSION >= 11400
              cornflower lily_of_the_valley sweet_berry_bush wither_rose \
#endif
#if MC_VERSION >= 11600
              crimson_roots nether_sprouts warped_roots \
#endif
#if MC_VERSION >= 11900
              mangrove_propagule \
#endif
#if MC_VERSION >= 11904
              torchflower torchflower_crop \
#endif
#if MC_VERSION >= 12000
              pitcher_plant:half=lower \
#endif
#if MC_VERSION >= 12104
              closed_eyeblossom open_eyeblossom \
#endif
#if MC_VERSION >= 12105
              bush short_dry_grass tall_dry_grass \
#endif
#if MC_VERSION > 12111
              golden_dandelion \
#endif
#ifdef IRIS_TAG_SUPPORT
              %minecraft:small_flowers \
#endif
              potatoes wheat

# 0b0100 1010 0000 0000 Thin plant style, leaf like wave block
#if MC_VERSION >= 11600
block.18944 = twisting_vines twisting_vines_plant \
#if MC_VERSION >= 11700
              cave_vines:berries=false cave_vines_plant:berries=false \
#endif
#if MC_VERSION >= 12102
              pale_hanging_moss \
#endif
              weeping_vines weeping_vines_plant
#endif

# 0b0100 1100 0000 0000 Thin plant style, higher on-ground wave block
#if MC_VERSION >= 11300
block.19456 = \
#if MC_VERSION >= 12000
              pitcher_plant:half=upper \
#endif
              large_fern:half=upper lilac:half=upper peony:half=upper rose_bush:half=upper sunflower:half=upper tall_grass:half=upper
#else
block.19456 = double_plant:half=upper
#endif

# 0b0100 1110 0000 0000 Thin plant style, no wave block
block.19968 = brown_mushroom \
#if MC_VERSION < 11300
              sapling web deadbush reeds melon_stem:facing=north melon_stem:facing=south melon_stem:facing=east melon_stem:facing=west \
              pumpkin_stem:facing=north pumpkin_stem:facing=south pumpkin_stem:facing=east pumpkin_stem:facing=west \
#else
              acacia_sapling birch_sapling brain_coral brain_coral_fan brain_coral_wall_fan bubble_coral bubble_coral_fan bubble_coral_wall_fan \
              cobweb dark_oak_sapling dead_brain_coral dead_brain_coral_fan dead_brain_coral_wall_fan dead_bubble_coral dead_bubble_coral_fan \
              dead_bubble_coral_wall_fan dead_bush dead_fire_coral dead_fire_coral_fan dead_fire_coral_wall_fan dead_horn_coral dead_horn_coral_fan \
              dead_horn_coral_wall_fan dead_tube_coral dead_tube_coral_fan dead_tube_coral_wall_fan fire_coral fire_coral_fan fire_coral_wall_fan \
              horn_coral horn_coral_fan horn_coral_wall_fan jungle_sapling kelp kelp_plant oak_sapling spruce_sapling sugar_cane tube_coral \
              tube_coral_fan tube_coral_wall_fan seagrass tall_seagrass \
              attached_melon_stem attached_pumpkin_stem \
#endif
#if MC_VERSION >= 11400
              bamboo_sapling \
#endif
#if MC_VERSION >= 11600
              crimson_fungus warped_fungus \
#endif
#if MC_VERSION >= 11700
              big_dripleaf big_dripleaf_stem hanging_roots pointed_dripstone small_dripleaf \
#endif
#if MC_VERSION >= 11904
              cherry_sapling \
#endif
#if MC_VERSION >= 12105
              cactus_flower \
#endif
              red_mushroom

# 0b0101 0000 0000 0000 Common full emissive blocks
block.20480 = fire glowstone \
#if MC_VERSION < 11300
              lit_pumpkin portal \
#else
              jack_o_lantern nether_portal \
#endif
#if MC_VERSION >= 11600
              soul_fire shroomlight \
#endif
#if MC_VERSION >= 11700
              black_candle:lit=true blue_candle:lit=true brown_candle:lit=true candle:lit=true cyan_candle:lit=true \
              gray_candle:lit=true green_candle:lit=true light_blue_candle:lit=true light_gray_candle:lit=true \
              lime_candle:lit=true magenta_candle:lit=true orange_candle:lit=true pink_candle:lit=true purple_candle:lit=true \
              red_candle:lit=true white_candle:lit=true yellow_candle:lit=true \
#endif
#if MC_VERSION >= 11900
              ochre_froglight pearlescent_froglight verdant_froglight sculk_sensor:sculk_sensor_phase=active \
#endif
#if MC_VERSION >= 12000
              calibrated_sculk_sensor:sculk_sensor_phase=active \
#endif
              sea_lantern

# 0b0110 0000 0000 0000 Common high contrast emissive blocks
block.24576 = dragon_egg \
#if MC_VERSION >= 10900
              end_rod \
#endif
#if MC_VERSION < 11300
#if MC_VERSION >= 11000
              magma redstone_torch \
#endif
              lit_redstone_lamp \
#else
#if MC_VERSION >= 11400
              campfire:lit=true lantern \
#endif
#if MC_VERSION >= 11600
              respawn_anchor soul_campfire:lit=true soul_lantern soul_torch soul_wall_torch \
#endif
#if MC_VERSION >= 11700
              crying_obsidian glow_lichen \
#endif
#if MC_VERSION >= 12003
              copper_bulb:lit=true exposed_copper_bulb:lit=true oxidized_copper_bulb:lit=true weathered_copper_bulb:lit=true \
              waxed_copper_bulb:lit=true waxed_exposed_copper_bulb:lit=true waxed_oxidized_copper_bulb:lit=true waxed_weathered_copper_bulb:lit=true \
#endif
#if MC_VERSION >= 12109
              copper_lantern copper_torch copper_wall_torch exposed_copper_lantern oxidized_copper_lantern weathered_copper_lantern \
              waxed_copper_lantern waxed_exposed_copper_lantern waxed_oxidized_copper_lantern waxed_weathered_copper_lantern \
#endif
              magma_block redstone_lamp:lit=true redstone_torch:lit=true redstone_wall_torch:lit=true sea_pickle:waterlogged=true wall_torch \
#endif
              torch

# 0b0101 1110 0000 0000 Full emissive, thin plant style, no wave block
#if MC_VERSION >= 11700
block.24064 = amethyst_cluster large_amethyst_bud medium_amethyst_bud small_amethyst_bud
#endif

# 0b0110 1000 0000 0000 High contrast emissive, thin plant style, on-ground lower wave block
#if MC_VERSION >= 12105
block.26624 = firefly_bush
#endif

#if MC_VERSION >= 12111
layer.cutout = redstone_wire
#endif
