Skip to content

Voxels

Warning

Official API Documentation: GameVoxels

Improvement Details

Background of Modification

In the original official d.ts file, the voxel data for this API interface was broadly defined as number or string type, which could lead to the following issues:

  • Allowing input of arbitrary data.
  • Potentially causing bugs at runtime due to the inability to retrieve the corresponding voxel.

Improvement Plan

Since the number of voxels in Box3 is finite, we have introduced custom types to strictly regulate the input data.

Effect of Improvement

  • Ensures data validity.
  • Improves code readability.
  • Enhances error-checking capabilities.

Usage Guide

Example Demonstration

Normal Input

Abnormal Input

Data Type Definition

typescript
/**
 * Voxels last updated: 2024/10/17
 * 384 types of voxels have been included.
 */
type voxelName =
  | "A"
  | "B"
  | "C"
  | "D"
  | "E"
  | "F"
  | "G"
  | "H"
  | "I"
  | "J"
  | "K"
  | "L"
  | "M"
  | "N"
  | "O"
  | "P"
  | "Q"
  | "R"
  | "S"
  | "T"
  | "U"
  | "V"
  | "W"
  | "X"
  | "Y"
  | "Z"
  | "acacia"
  | "add"
  | "air"
  | "air_duct"
  | "ampersand"
  | "asterisk"
  | "at"
  | "backslash"
  | "bamboo"
  | "barrier"
  | "bat_window"
  | "bear_footprint"
  | "biscuit"
  | "black"
  | "black_glass"
  | "blue"
  | "blue_decorative_light"
  | "blue_gift"
  | "blue_glass"
  | "blue_grass"
  | "blue_grass_all"
  | "blue_light"
  | "blue_surface_01"
  | "blue_surface_02"
  | "blueberry_juice"
  | "board0"
  | "board1"
  | "board10"
  | "board11"
  | "board12"
  | "board13"
  | "board14"
  | "board15"
  | "board2"
  | "board3"
  | "board4"
  | "board5"
  | "board6"
  | "board7"
  | "board8"
  | "board9"
  | "board_01"
  | "board_02"
  | "board_03"
  | "board_04"
  | "board_05"
  | "board_06"
  | "board_07"
  | "bookshelf"
  | "bounce_pad"
  | "bracket_close"
  | "bracket_open"
  | "brick_01"
  | "brick_02"
  | "brick_red"
  | "button"
  | "cadet_blue"
  | "candy"
  | "caret"
  | "carpet_01"
  | "carpet_02"
  | "carpet_03"
  | "carpet_04"
  | "carpet_05"
  | "carpet_06"
  | "carpet_07"
  | "carpet_08"
  | "carpet_09"
  | "carpet_10"
  | "carpet_11"
  | "carpet_12"
  | "carpet_13"
  | "coffee"
  | "coffee_gray"
  | "colon"
  | "color_glass"
  | "comma"
  | "conveyor"
  | "crane_lantern"
  | "crane_roof_01"
  | "crane_roof_02"
  | "cross_window"
  | "dark_blue_grass"
  | "dark_blue_grass_all"
  | "dark_brick_00"
  | "dark_brick_01"
  | "dark_brick_02"
  | "dark_grass"
  | "dark_grass_all"
  | "dark_grass_rock"
  | "dark_grass_sand"
  | "dark_gray"
  | "dark_orchid"
  | "dark_purple_grass"
  | "dark_purple_grass_all"
  | "dark_red"
  | "dark_red_grass"
  | "dark_red_grass_all"
  | "dark_salmon"
  | "dark_sand"
  | "dark_slate_blue"
  | "dark_stone"
  | "dark_surface"
  | "dark_volcanic_rock"
  | "dark_yellow_grass"
  | "dark_yellow_grass_all"
  | "dirt"
  | "divide"
  | "eight"
  | "equal"
  | "exclamation_mark"
  | "express_box"
  | "fan"
  | "firecracker"
  | "five"
  | "four"
  | "fu"
  | "geometric_window_01"
  | "geometric_window_02"
  | "glass"
  | "gold_trim_brick"
  | "grape_juice"
  | "grass"
  | "grass_all"
  | "grass_rock"
  | "grass_sand"
  | "greater_than"
  | "green_decorative_light"
  | "green_glass"
  | "green_leaf"
  | "green_light"
  | "greenbelt_L"
  | "greenbelt_L1"
  | "grey_stone_brick"
  | "honeycomb_01"
  | "honeycomb_02"
  | "ice"
  | "ice_brick"
  | "ice_wall"
  | "indigo_light"
  | "lab_lamp_01"
  | "lab_lamp_02"
  | "lab_lamp_03"
  | "lab_material_01"
  | "lab_material_02"
  | "lab_material_03"
  | "lab_material_04"
  | "lab_material_05"
  | "lab_material_06"
  | "lab_material_07"
  | "lab_material_08"
  | "lab_material_09"
  | "lab_material_10"
  | "lab_material_11"
  | "lab_material_12"
  | "lab_material_13"
  | "lab_material_14"
  | "lab_material_15"
  | "lab_screen"
  | "lab_wire"
  | "lantern_01"
  | "lantern_02"
  | "lava01"
  | "lava02"
  | "leaf_01"
  | "leaf_02"
  | "leaf_03"
  | "leaf_04"
  | "leaf_05"
  | "leaf_06"
  | "ledfloor01"
  | "ledfloor02"
  | "lemon"
  | "lemon_juice"
  | "less_than"
  | "light_blue_grass"
  | "light_blue_grass_all"
  | "light_dirt"
  | "light_gray"
  | "light_sand"
  | "light_stone"
  | "light_yellow_grass"
  | "light_yellow_grass_all"
  | "lime_green"
  | "log"
  | "logo"
  | "lunar_module"
  | "m"
  | "mat_01"
  | "mat_02"
  | "mat_03"
  | "mat_04"
  | "mat_05"
  | "mat_06"
  | "mat_07"
  | "mat_08"
  | "minus"
  | "moon"
  | "moss"
  | "multiply"
  | "nine"
  | "note_block"
  | "npc_spawn_location"
  | "number_sign"
  | "one"
  | "orange"
  | "orange_juice"
  | "pale_green"
  | "parentheses_close"
  | "parentheses_open"
  | "peach"
  | "percent"
  | "period"
  | "pink_surface_01"
  | "pink_surface_02"
  | "pipe"
  | "plus"
  | "polished_dark_stone"
  | "question_mark"
  | "quotation_mark"
  | "red_brick_00"
  | "red_brick_01"
  | "red_brick_02"
  | "red_decorative_light"
  | "red_gift"
  | "red_glass"
  | "red_light"
  | "sand"
  | "sandy_brown"
  | "semicolon"
  | "seven"
  | "six"
  | "slash"
  | "snow"
  | "snow_all"
  | "snow_grass"
  | "snow_rock"
  | "space_floor_01"
  | "space_floor_02"
  | "space_floor_03"
  | "space_floor_04"
  | "space_lamp_01"
  | "space_lamp_02"
  | "space_lamp_03"
  | "space_material_01"
  | "space_material_02"
  | "space_material_03"
  | "space_material_04"
  | "space_material_05"
  | "space_material_06"
  | "space_material_07"
  | "space_material_08"
  | "space_material_09"
  | "space_material_10"
  | "space_material_11"
  | "space_material_12"
  | "space_material_13"
  | "space_material_14"
  | "space_material_15"
  | "spawn_location"
  | "steel_blue"
  | "stone"
  | "stone_brick"
  | "stump"
  | "surface_01"
  | "surface_02"
  | "surface_03"
  | "surface_04"
  | "surface_05"
  | "surface_06"
  | "sweet_potato"
  | "tatami"
  | "tech_floor_01"
  | "tech_floor_02"
  | "tech_floor_03"
  | "tech_floor_04"
  | "tech_lamp_01"
  | "tech_lamp_02"
  | "tech_lamp_03"
  | "tech_material_01"
  | "tech_material_02"
  | "tech_material_03"
  | "tech_material_04"
  | "tech_material_05"
  | "tech_material_06"
  | "tech_material_07"
  | "tech_material_08"
  | "tech_material_09"
  | "tech_material_10"
  | "tech_material_11"
  | "tech_material_12"
  | "tech_material_13"
  | "tech_material_14"
  | "tech_material_15"
  | "tech_screen"
  | "three"
  | "tile"
  | "tile_floor"
  | "two"
  | "underscore"
  | "up"
  | "up_down"
  | "volcanic_rock"
  | "wall_01"
  | "wall_02"
  | "wall_03"
  | "wall_04"
  | "wall_05"
  | "wall_06"
  | "wall_07"
  | "wall_08"
  | "wall_09"
  | "wall_10"
  | "wall_11"
  | "wall_12"
  | "wall_13"
  | "wall_14"
  | "wall_15"
  | "watermelon_juice"
  | "white"
  | "white_glass"
  | "window_01"
  | "window_02"
  | "window_03"
  | "window_04"
  | "window_05"
  | "window_06"
  | "window_07"
  | "window_08"
  | "wood"
  | "wood_00"
  | "wood_01"
  | "wood_02"
  | "wood_03"
  | "wood_04"
  | "wood_05"
  | "wood_06"
  | "wood_floor"
  | "yellow_decorative_light"
  | "yellow_glass"
  | "yellow_light"
  | "zero";

The voxelName type includes a comprehensive list of all available voxels, ensuring that only valid voxel names can be used in your code.

神岛实验室