Initial commit: Minecraft 光追着色器包(从零实现的 path tracing)

This commit is contained in:
WpyQwq
2026-09-19 12:06:22 +08:00
commit 59e30822f8
314 changed files with 9259 additions and 0 deletions
+566
View File
@@ -0,0 +1,566 @@
# MinecraftPT block ID mapping v1
# block.X = block_name block_name ...
# Uses mc_Entity.x in gbuffer shaders to determine material type.
# In block.properties, any block that is not listed gets mc_Entity.x = 0 (default).
# Default full solid blocks (ID 0)
block.0 = \
# vanilla stone/rock
stone granite diorite andesite cobblestone bedrock \
stone_bricks mossy_stone_bricks cracked_stone_bricks chiseled_stone_bricks \
deepslate cobbled_deepslate polished_deepslate deepslate_bricks cracked_deepslate_bricks deepslate_tiles cracked_deepslate_tiles chiseled_deepslate \
tuff polished_tuff tuff_bricks chiseled_tuff chiseled_tuff_bricks \
calcite dripstone_block \
sandstone red_sandstone smooth_sandstone smooth_red_sandstone chiseled_sandstone chiseled_red_sandstone cut_sandstone cut_red_sandstone \
prismarine prismarine_bricks dark_prismarine \
netherrack nether_bricks red_nether_bricks chiseled_nether_bricks cracked_nether_bricks \
blackstone polished_blackstone polished_blackstone_bricks chiseled_polished_blackstone cracked_polished_blackstone_bricks \
basalt polished_basalt smooth_basalt \
end_stone end_stone_bricks purpur_block purpur_pillar purpur_block \
# dirt/grass
grass_block dirt coarse_dirt rooted_dirt podzol mycelium path \
# logs, planks
oak_log spruce_log birch_log jungle_log acacia_log dark_oak_log mangrove_log cherry_log pale_oak_log \
oak_planks spruce_planks birch_planks jungle_planks acacia_planks dark_oak_planks mangrove_planks cherry_planks pale_oak_planks \
crimson_planks warped_planks bamboo_planks \
stripped_oak_log stripped_spruce_log stripped_birch_log stripped_jungle_log stripped_acacia_log stripped_dark_oak_log stripped_mangrove_log stripped_cherry_log stripped_pale_oak_log \
stripped_crimson_stem stripped_warped_stem stripped_bamboo_block \
oak_wood spruce_wood birch_wood jungle_wood acacia_wood dark_oak_wood mangrove_wood cherry_wood pale_oak_wood \
crimson_hyphae warped_hyphae \
stripped_oak_wood stripped_spruce_wood stripped_birch_wood stripped_jungle_wood stripped_acacia_wood stripped_dark_oak_wood stripped_mangrove_wood stripped_cherry_wood stripped_pale_oak_wood \
stripped_crimson_hyphae stripped_warped_hyphae \
# ores
coal_ore deepslate_coal_ore iron_ore deepslate_iron_ore copper_ore deepslate_copper_ore gold_ore deepslate_gold_ore redstone_ore deepslate_redstone_ore lapis_ore deepslate_lapis_ore diamond_ore deepslate_diamond_ore emerald_ore deepslate_emerald_ore nether_gold_ore nether_quartz_ore \
# mineral blocks
coal_block iron_block copper_block gold_block diamond_block emerald_block lapis_block netherite_block redstone_block quartz_block \
raw_iron_block raw_copper_block raw_gold_block \
# terracotta/concrete
white_terracotta orange_terracotta magenta_terracotta light_blue_terracotta yellow_terracotta lime_terracotta pink_terracotta gray_terracotta light_gray_terracotta cyan_terracotta purple_terracotta blue_terracotta brown_terracotta green_terracotta red_terracotta black_terracotta \
white_concrete orange_concrete magenta_concrete light_blue_concrete yellow_concrete lime_concrete pink_concrete gray_concrete light_gray_concrete cyan_concrete purple_concrete blue_concrete brown_concrete green_concrete red_concrete black_concrete \
white_glazed_terracotta orange_glazed_terracotta magenta_glazed_terracotta light_blue_glazed_terracotta yellow_glazed_terracotta lime_glazed_terracotta pink_glazed_terracotta gray_glazed_terracotta light_gray_glazed_terracotta cyan_glazed_terracotta purple_glazed_terracotta blue_glazed_terracotta brown_glazed_terracotta green_glazed_terracotta red_glazed_terracotta black_glazed_terracotta \
# wool
white_wool orange_wool magenta_wool light_blue_wool yellow_wool lime_wool pink_wool gray_wool light_gray_wool cyan_wool purple_wool blue_wool brown_wool green_wool red_wool black_wool \
# other
bookshelf bones_block clay sponge wet_sponge hay_block dried_kelp_block target barrel smithing_table fletching_table cartography_table loom stonecutter grindstone crafting_table furnace blast_furnace smoker \
brick_block nether_wart_block warped_wart_block shroomlight \
pumpkin melon jack_o_lantern mushroom_stem red_mushroom_block brown_mushroom_block \
smooth_stone smooth_quartz quartz_bricks quartz_pillar chiseled_quartz_block \
obsidian crying_obsidian \
gilded_blackstone ancient_debris lodestone respawn_anchor \
white_wool orange_wool magenta_wool light_blue_wool yellow_wool lime_wool pink_wool gray_wool light_gray_wool cyan_wool purple_wool blue_wool brown_wool green_wool red_wool black_wool \
# copper
copper_block exposed_copper weathered_copper oxidized_copper cut_copper exposed_cut_copper weathered_cut_copper oxidized_cut_copper \
chiseled_copper exposed_chiseled_copper weathered_chiseled_copper oxidized_chiseled_copper \
copper_bulb:lit=false exposed_copper_bulb:lit=false weathered_copper_bulb:lit=false oxidized_copper_bulb:lit=false \
copper_door:open=false exposed_copper_door:open=false weathered_copper_door:open=false oxidized_copper_door:open=false \
copper_trapdoor:open=false exposed_copper_trapdoor:open=false weathered_copper_trapdoor:open=false oxidized_copper_trapdoor:open=false \
copper_grate exposed_copper_grate weathered_copper_grate oxidized_copper_grate \
# waxed copper
waxed_copper_block waxed_exposed_copper waxed_weathered_copper waxed_oxidized_copper \
waxed_cut_copper waxed_exposed_cut_copper waxed_weathered_cut_copper waxed_oxidized_cut_copper \
waxed_chiseled_copper waxed_exposed_chiseled_copper waxed_weathered_chiseled_copper waxed_oxidized_chiseled_copper \
waxed_copper_bulb:lit=false waxed_exposed_copper_bulb:lit=false waxed_weathered_copper_bulb:lit=false waxed_oxidized_copper_bulb:lit=false \
waxed_copper_grate waxed_exposed_copper_grate waxed_weathered_copper_grate waxed_oxidized_copper_grate \
# new blocks
mud mud_bricks packed_mud mangrove_roots muddy_mangrove_roots \
amethyst_block budding_amethyst \
sculk sculk_catalyst sculk_shrieker sculk_sensor calibrated_sculk_sensor sculk_vein \
reinforced_deepslate
# many more blocks are ID 0 (default) — all solid blocks not listed below
# Leaves (cutout) — ID 1
block.1 = \
oak_leaves spruce_leaves birch_leaves jungle_leaves acacia_leaves dark_oak_leaves mangrove_leaves cherry_leaves pale_oak_leaves \
azalea_leaves flowering_azalea_leaves \
# vines
vine cave_vines cave_vines_plant weeping_vines weeping_vines_plant twisting_vines twisting_vines_plant
# other
hanging_roots
# Full translucent blocks (glass, ice, etc.) — ID 2
block.2 = \
glass white_stained_glass orange_stained_glass magenta_stained_glass light_blue_stained_glass yellow_stained_glass lime_stained_glass pink_stained_glass gray_stained_glass light_gray_stained_glass cyan_stained_glass purple_stained_glass blue_stained_glass brown_stained_glass green_stained_glass red_stained_glass black_stained_glass \
tinted_glass \
ice packed_ice blue_ice frosted_ice \
slime_block honey_block
# Water (handled by gbuffers_water) — ID 3
block.3 = water
# Cross cutout plants (lower transparency — grass, flowers, etc.) — ID 4
block.4 = \
short_grass tall_grass fern large_fern \
dandelion poppy blue_orchid allium azure_bluet red_tulip orange_tulip white_tulip pink_tulip oxeye_daisy cornflower lily_of_the_valley sunflower lilac rose_bush peony \
wither_rose torchflower spore_blossom pink_petals \
sweet_berry_bush \
crimson_fungus warped_fungus crimson_roots warped_roots nether_sprouts \
brown_mushroom red_mushroom \
dead_bush bamboo_sapling cherry_leaves? no cherry_leaves are leaves
# Torch-like (emissive thin) — ID 5
block.5 = torch soul_torch redstone_torch
# Lanterns (emissive with shape) — ID 6
block.6 = lantern soul_lantern
# Fire (emissive anim) — ID 7
block.7 = fire soul_fire
# Campfire — ID 8
block.8 = campfire soul_campfire
# Lava (emissive liquid) — ID 9
block.9 = lava
# Glass panes — ID 10
block.10 = glass_pane white_stained_glass_pane orange_stained_glass_pane magenta_stained_glass_pane light_blue_stained_glass_pane yellow_stained_glass_pane lime_stained_glass_pane pink_stained_glass_pane gray_stained_glass_pane light_gray_stained_glass_pane cyan_stained_glass_pane purple_stained_glass_pane blue_stained_glass_pane brown_stained_glass_pane green_stained_glass_pane red_stained_glass_pane black_stained_glass_pane
# Iron bars — ID 11
block.11 = iron_bars
# Stairs — ID 12
block.12 = \
# All stairs
oak_stairs spruce_stairs birch_stairs jungle_stairs acacia_stairs dark_oak_stairs mangrove_stairs cherry_stairs pale_oak_stairs \
cobblestone_stairs stone_stairs stone_brick_stairs mossy_stone_brick_stairs brick_stairs mud_brick_stairs sandstone_stairs red_sandstone_stairs \
nether_brick_stairs red_nether_brick_stairs quartz_stairs purpur_stairs prismarine_stairs prismarine_brick_stairs dark_prismarine_stairs \
granite_stairs diorite_stairs andesite_stairs polished_granite_stairs polished_diorite_stairs polished_andesite_stairs \
deepslate_brick_stairs deepslate_tile_stairs cobbled_deepslate_stairs polished_deepslate_stairs \
blackstone_stairs polished_blackstone_stairs polished_blackstone_brick_stairs \
tuff_stairs tuff_brick_stairs polished_tuff_stairs \
end_stone_brick_stairs resin_brick_stairs \
mossy_cobblestone_stairs smooth_quartz_stairs smooth_sandstone_stairs smooth_red_sandstone_stairs \
# Wood stairs
crimson_stairs warped_stairs bamboo_stairs
# Slabs — ID 13
block.13 = \
# All slabs — single type only (double type handled by full block detection)
oak_slab:type=bottom spruce_slab:type=bottom birch_slab:type=bottom jungle_slab:type=bottom acacia_slab:type=bottom dark_oak_slab:type=bottom mangrove_slab:type=bottom cherry_slab:type=bottom pale_oak_slab:type=bottom \
cobblestone_slab:type=bottom stone_slab:type=bottom stone_brick_slab:type=bottom mossy_stone_brick_slab:type=bottom brick_slab:type=bottom mud_brick_slab:type=bottom sandstone_slab:type=bottom red_sandstone_slab:type=bottom cut_sandstone_slab:type=bottom cut_red_sandstone_slab:type=bottom \
nether_brick_slab:type=bottom red_nether_brick_slab:type=bottom quartz_slab:type=bottom purpur_slab:type=bottom prismarine_slab:type=bottom prismarine_brick_slab:type=bottom dark_prismarine_slab:type=bottom \
granite_slab:type=bottom diorite_slab:type=bottom andesite_slab:type=bottom polished_granite_slab:type=bottom polished_diorite_slab:type=bottom polished_andesite_slab:type=bottom \
deepslate_brick_slab:type=bottom deepslate_tile_slab:type=bottom cobbled_deepslate_slab:type=bottom polished_deepslate_slab:type=bottom \
blackstone_slab:type=bottom polished_blackstone_slab:type=bottom polished_blackstone_brick_slab:type=bottom \
tuff_slab:type=bottom tuff_brick_slab:type=bottom polished_tuff_slab:type=bottom \
end_stone_brick_slab:type=bottom resin_brick_slab:type=bottom \
smooth_quartz_slab:type=bottom smooth_sandstone_slab:type=bottom smooth_red_sandstone_slab:type=bottom \
mossy_cobblestone_slab:type=bottom \
crimson_slab:type=bottom warped_slab:type=bottom bamboo_slab:type=bottom \
# special slabs
stone_slab:type=bottom? Actually stone_slab:type=bottom is the correct one.
petrified_oak_slab:type=bottom \
smooth_stone_slab:type=bottom
# Walls — ID 14
block.14 = \
cobblestone_wall mossy_cobblestone_wall stone_brick_wall mossy_stone_brick_wall \
brick_wall mud_brick_wall sandstone_wall red_sandstone_wall \
nether_brick_wall red_nether_brick_wall \
granite_wall diorite_wall andesite_wall \
deepslate_brick_wall deepslate_tile_wall cobbled_deepslate_wall polished_deepslate_wall \
blackstone_wall polished_blackstone_wall polished_blackstone_brick_wall \
tuff_wall tuff_brick_wall polished_tuff_wall \
end_stone_brick_wall resin_brick_wall
# Fences — ID 15
block.15 = \
oak_fence spruce_fence birch_fence jungle_fence acacia_fence dark_oak_fence mangrove_fence cherry_fence pale_oak_fence \
crimson_fence warped_fence bamboo_fence \
nether_brick_fence
# Fence Gates — ID 16
block.16 = \
oak_fence_gate spruce_fence_gate birch_fence_gate jungle_fence_gate acacia_fence_gate dark_oak_fence_gate mangrove_fence_gate cherry_fence_gate pale_oak_fence_gate \
crimson_fence_gate warped_fence_gate bamboo_fence_gate
# Doors — ID 17 (door facing south, hinge left, closed)
# For simplicity, map all door orientations to ID 17 — the gbuffer will use the vertex normal and position to determine shape
block.17 = \
# All doors (all orientations)
iron_door:open=false iron_door:open=true \
oak_door:open=false oak_door:open=true \
spruce_door:open=false spruce_door:open=true \
birch_door:open=false birch_door:open=true \
jungle_door:open=false jungle_door:open=true \
acacia_door:open=false acacia_door:open=true \
dark_oak_door:open=false dark_oak_door:open=true \
mangrove_door:open=false mangrove_door:open=true \
crimson_door:open=false crimson_door:open=true \
warped_door:open=false warped_door:open=true \
bamboo_door:open=false bamboo_door:open=true \
cherry_door:open=false cherry_door:open=true \
pale_oak_door:open=false pale_oak_door:open=true \
copper_door:open=false copper_door:open=true \
exposed_copper_door:open=false exposed_copper_door:open=true \
weathered_copper_door:open=false weathered_copper_door:open=true \
oxidized_copper_door:open=false oxidized_copper_door:open=true \
waxed_copper_door:open=false waxed_copper_door:open=true \
waxed_exposed_copper_door:open=false waxed_exposed_copper_door:open=true \
waxed_weathered_copper_door:open=false waxed_weathered_copper_door:open=true \
waxed_oxidized_copper_door:open=false waxed_oxidized_copper_door:open=true \
# Trapdoors
oak_trapdoor:open=false oak_trapdoor:open=true \
spruce_trapdoor:open=false spruce_trapdoor:open=true \
birch_trapdoor:open=false birch_trapdoor:open=true \
jungle_trapdoor:open=false jungle_trapdoor:open=true \
acacia_trapdoor:open=false acacia_trapdoor:open=true \
dark_oak_trapdoor:open=false dark_oak_trapdoor:open=true \
mangrove_trapdoor:open=false mangrove_trapdoor:open=true \
crimson_trapdoor:open=false crimson_trapdoor:open=true \
warped_trapdoor:open=false warped_trapdoor:open=true \
bamboo_trapdoor:open=false bamboo_trapdoor:open=true \
cherry_trapdoor:open=false cherry_trapdoor:open=true \
pale_oak_trapdoor:open=false pale_oak_trapdoor:open=true \
copper_trapdoor:open=false copper_trapdoor:open=true \
exposed_copper_trapdoor:open=false exposed_copper_trapdoor:open=true \
weathered_copper_trapdoor:open=false weathered_copper_trapdoor:open=true \
oxidized_copper_trapdoor:open=false oxidized_copper_trapdoor:open=true \
waxed_copper_trapdoor:open=false waxed_copper_trapdoor:open=true \
waxed_exposed_copper_trapdoor:open=false waxed_exposed_copper_trapdoor:open=true \
waxed_weathered_copper_trapdoor:open=false waxed_weathered_copper_trapdoor:open=true \
waxed_oxidized_copper_trapdoor:open=false waxed_oxidized_copper_trapdoor:open=true
# Rails — ID 18
block.18 = rail powered_rail detector_rail activator_rail
# Redstone components — ID 19
block.19 = redstone_wire redstone_lamp:lit=false redstone_lamp:lit=true lever oak_button spruce_button birch_button jungle_button acacia_button dark_oak_button mangrove_button cherry_button crimson_button warped_button bamboo_button stone_button polished_blackstone_button \
oak_pressure_plate spruce_pressure_plate birch_pressure_plate jungle_pressure_plate acacia_pressure_plate dark_oak_pressure_plate mangrove_pressure_plate cherry_pressure_plate pale_oak_pressure_plate \
crimson_pressure_plate warped_pressure_plate bamboo_pressure_plate \
stone_pressure_plate polished_blackstone_pressure_plate light_weighted_pressure_plate heavy_weighted_pressure_plate \
tripwire tripwire_hook \
repeater comparator daylight_detector
# End rod — ID 20
block.20 = end_rod
# Chain — ID 21
block.21 = chain
# Amethyst cluster and buds — ID 22
block.22 = amethyst_cluster small_amethyst_bud medium_amethyst_bud large_amethyst_bud
# Candle — ID 23
block.23 = candle:lit=true white_candle:lit=true orange_candle:lit=true magenta_candle:lit=true light_blue_candle:lit=true yellow_candle:lit=true lime_candle:lit=true pink_candle:lit=true gray_candle:lit=true light_gray_candle:lit=true cyan_candle:lit=true purple_candle:lit=true blue_candle:lit=true brown_candle:lit=true green_candle:lit=true red_candle:lit=true black_candle:lit=true
# Glowstone / Sea lantern — ID 24
block.24 = glowstone sea_lantern
# Light block (vanilla light block) — ID 25
block.25 = light
# End portal / Nether portal — ID 26
block.26 = end_portal nether_portal
# Ladder — ID 27
block.27 = ladder
# Sugar cane — ID 28
block.28 = sugar_cane
# Bamboo — ID 29
block.29 = bamboo
# Cactus — ID 30
block.30 = cactus
# Chorus — ID 31
block.31 = chorus_plant chorus_flower
# Coral — ID 32
block.32 = tube_coral brain_coral bubble_coral fire_coral horn_coral tube_coral_fan brain_coral_fan bubble_coral_fan fire_coral_fan horn_coral_fan \
tube_coral_wall_fan brain_coral_wall_fan bubble_coral_wall_fan fire_coral_wall_fan horn_coral_wall_fan \
dead_tube_coral dead_brain_coral dead_bubble_coral dead_fire_coral dead_horn_coral dead_tube_coral_fan dead_brain_coral_fan dead_bubble_coral_fan dead_fire_coral_fan dead_horn_coral_fan \
dead_tube_coral_wall_fan dead_brain_coral_wall_fan dead_bubble_coral_wall_fan dead_fire_coral_wall_fan dead_horn_coral_wall_fan coral_block
# Pointed dripstone — ID 33
block.33 = pointed_dripstone
# Conduit — ID 34
block.34 = conduit
# Lightning rod — ID 35
block.35 = lightning_rod
# Decorated pot — ID 36
block.36 = decorated_pot
# Snow layers — ID 37
block.37 = snow:layers=1 snow:layers=2 snow:layers=3 snow:layers=4 snow:layers=5 snow:layers=6 snow:layers=7
# Moss/Spore things — ID 38
block.38 = moss_carpet spore_blossom
# Big dripleaf — ID 39
block.39 = big_dripleaf small_dripleaf
# Hanging roots — ID 40
block.40 = hanging_roots
# Rooted dirt — ID 41
block.41 = rooted_dirt
# Cave vines — ID 42
block.42 = cave_vines cave_vines_plant
# Glow lichen — ID 43
block.43 = glow_lichen
# Sculk — ID 44
block.44 = sculk_vein
# Mangrove propagule — ID 45
block.45 = mangrove_propagule:stage=0 mangrove_propagule:stage=1 mangrove_propagule:stage=2 mangrove_propagule:stage=3 mangrove_propagule:stage=4
# Azalea — ID 46
block.46 = azalea flowering_azalea
# Big dripleaf stem — ID 47
block.47 = big_dripleaf_stem
# Spawner — ID 48
block.48 = spawner
# Barrier — ID 49
block.49 = barrier
# Structure void — ID 50
block.50 = structure_void
# Beacon — ID 51
block.51 = beacon
# Piston — ID 52
block.52 = piston_head:type=normal sticky_piston_head:type=sticky piston:extended=false piston:extended=true sticky_piston:extended=false sticky_piston:extended=true moving_piston
# Observer — ID 53
block.53 = observer
# Dropper / Dispenser — ID 54
block.54 = dropper dispenser
# Hopper — ID 55
block.55 = hopper
# Cauldron — ID 56
block.56 = cauldron water_cauldron lava_cauldron powder_snow_cauldron
# Brewing stand — ID 57
block.57 = brewing_stand
# Enchanting table — ID 58
block.58 = enchanting_table
# Anvil — ID 59
block.59 = anvil chipped_anvil damaged_anvil
# Ender chest — ID 60
block.60 = ender_chest
# Chest — ID 61
block.61 = chest trapped_chest
# Crafting table — ID 62
block.62 = crafting_table
# Furnace — ID 63
block.63 = furnace blast_furnace smoker
# Lectern — ID 64
block.64 = lectern
# Grindstone — ID 65
block.65 = grindstone
# Stonecutter — ID 66
block.66 = stonecutter
# Loom — ID 67
block.67 = loom
# Smithing table — ID 68
block.68 = smithing_table
# Composter — ID 69
block.69 = composter
# Jukebox — ID 70
block.70 = jukebox
# Bell — ID 71
block.71 = bell
# Lantern (non-emissive) — ID 72
block.72 = lantern soul_lantern
# Note block — ID 73
block.73 = note_block
# Big dripleaf — ID 74
block.74 = big_dripleaf
# Pink petals — ID 75
block.75 = pink_petals
# Torchflower — ID 76
block.76 = torchflower_crop
# Pitcher plant — ID 77
block.77 = pitcher_crop pitcher_plant
# Frogspawn — ID 78
block.78 = frogspawn
# Turtle egg — ID 79
block.79 = turtle_egg sniffer_egg
# Cobweb — ID 80
block.80 = cobweb
# Daylight sensor — ID 81
block.81 = daylight_detector
# Respawn anchor — ID 82
block.82 = respawn_anchor:charges=0 respawn_anchor:charges=1 respawn_anchor:charges=2 respawn_anchor:charges=3 respawn_anchor:charges=4
# Lodestone — ID 83
block.83 = lodestone
# Target — ID 84
block.84 = target
# End portal frame — ID 85
block.85 = end_portal_frame
# Dragon egg — ID 86
block.86 = dragon_egg
# Powder snow — ID 87
block.87 = powder_snow
# Decorated pot — ID 88
block.88 = decorated_pot
# Calibrated sculk sensor — ID 89
block.89 = calibrated_sculk_sensor
# Chiseled bookshelf — ID 90
block.90 = chiseled_bookshelf
# Suspicious sand/gravel — ID 91
block.91 = suspicious_sand suspicious_gravel
# Crafter — ID 92
block.92 = crafter
# Trial spawner — ID 93
block.93 = trial_spawner vault
# Heavy core — ID 94
block.94 = heavy_core
# Resin — ID 95
block.95 = resin_block resin_bricks chiseled_resin_bricks resin_brick_slab:type=bottom resin_brick_stairs resin_brick_wall
# Pale moss — ID 96
block.96 = pale_moss_block pale_moss_carpet
# Creeper head / skeleton skull / etc — ID 97
block.97 = skeleton_skull wither_skeleton_skull creeper_head zombie_head player_head dragon_head piglin_head skeleton_wall_skull wither_skeleton_wall_skull creeper_wall_head zombie_wall_head player_wall_head dragon_wall_head piglin_wall_head
# Banner — ID 98
block.98 = white_banner orange_banner magenta_banner light_blue_banner yellow_banner lime_banner pink_banner gray_banner light_gray_banner cyan_banner purple_banner blue_banner brown_banner green_banner red_banner black_banner \
white_wall_banner orange_wall_banner magenta_wall_banner light_blue_wall_banner yellow_wall_banner lime_wall_banner pink_wall_banner gray_wall_banner light_gray_wall_banner cyan_wall_banner purple_wall_banner blue_wall_banner brown_wall_banner green_wall_banner red_wall_banner black_wall_banner
# Sign — ID 99
block.99 = oak_sign spruce_sign birch_sign jungle_sign acacia_sign dark_oak_sign mangrove_sign cherry_sign pale_oak_sign crimson_sign warped_sign bamboo_sign \
oak_wall_sign spruce_wall_sign birch_wall_sign jungle_wall_sign acacia_wall_sign dark_oak_wall_sign mangrove_wall_sign cherry_wall_sign pale_oak_wall_sign crimson_wall_sign warped_wall_sign bamboo_wall_sign \
oak_hanging_sign spruce_hanging_sign birch_hanging_sign jungle_hanging_sign acacia_hanging_sign dark_oak_hanging_sign mangrove_hanging_sign cherry_hanging_sign pale_oak_hanging_sign crimson_hanging_sign warped_hanging_sign bamboo_hanging_sign \
oak_wall_hanging_sign spruce_wall_hanging_sign birch_wall_hanging_sign jungle_wall_hanging_sign acacia_wall_hanging_sign dark_oak_wall_hanging_sign mangrove_wall_hanging_sign cherry_wall_hanging_sign pale_oak_wall_hanging_sign crimson_wall_hanging_sign warped_wall_hanging_sign bamboo_wall_hanging_sign
# Cake — ID 100
block.100 = cake
# Sea pickle — ID 101
block.101 = sea_pickle
# Kelp — ID 102
block.102 = kelp kelp_plant
# Seagrass — ID 103
block.103 = seagrass tall_seagrass
# Redstone ore (glows when touched) — ID 104
block.104 = redstone_ore:lit=true deepslate_redstone_ore:lit=true
# End gateway — ID 105
block.105 = end_gateway
# Light block — ID 106
block.106 = light
# Structure block — ID 107
block.107 = structure_block jigsaw
# Command block — ID 108
block.108 = command_block chain_command_block repeating_command_block
# Debug stick — not a block
# Sculk sensor — ID 109
block.109 = sculk_sensor
# Sculk shrieker — ID 110
block.110 = sculk_shrieker
# Mangrove roots — ID 111
block.111 = mangrove_roots muddy_mangrove_roots
# Bricks — ID 112
block.112 = bricks
# Mud bricks — ID 113
block.113 = mud_bricks
# Resin bricks — ID 114
block.114 = resin_bricks chiseled_resin_bricks
# Tuff bricks — ID 115
block.115 = tuff_bricks chiseled_tuff_bricks
# Polished tuff — ID 116
block.116 = polished_tuff tuff_slab:type=bottom?
# Deeplslate — ID 117
block.117 = deepslate_deepslate
# Calcite — ID 118
block.118 = calcite
# Dripstone block — ID 119
block.119 = dripstone_block
# Smooth basalt — ID 120
block.120 = smooth_basalt
# Many more blocks... but these cover the essentials.
# Light block variants (8000-8015 for light level 0-15)
block.8000 = light:level=0
block.8001 = light:level=1
block.8002 = light:level=2
block.8003 = light:level=3
block.8004 = light:level=4
block.8005 = light:level=5
block.8006 = light:level=6
block.8007 = light:level=7
block.8008 = light:level=8
block.8009 = light:level=9
block.8010 = light:level=10
block.8011 = light:level=11
block.8012 = light:level=12
block.8013 = light:level=13
block.8014 = light:level=14
block.8015 = light:level=15