initial commit

This commit is contained in:
MomokoKoigakubo
2026-08-07 17:00:46 -04:00
commit 4a48f0bae9
5578 changed files with 138786 additions and 0 deletions
+871
View File
@@ -0,0 +1,871 @@
export const BLOCK_TOP = {
"rzb_dcs:fa48": 0.5,
"rzb_dcs:fa48_b": 0.5,
"rzb_dcs:sp51": 0.2653,
"rzb_dcs:sp51_open": 0.2653,
"rzb_dcs:su38": 0.2344,
"rzb_dcs:su03_0_0_0_rainbow": 0.1875,
"rzb_dcs:su03_0_0_1_rainbow": 0.1875,
"rzb_dcs:su03_0_0_2_rainbow": 0.1875,
"rzb_dcs:su03_0_0_0_red": 0.1875,
"rzb_dcs:su03_0_0_1_red": 0.1875,
"rzb_dcs:su03_0_0_2_red": 0.1875,
"rzb_dcs:su03_0_0_0_orange": 0.1875,
"rzb_dcs:su03_0_0_1_orange": 0.1875,
"rzb_dcs:su03_0_0_2_orange": 0.1875,
"rzb_dcs:su03_0_0_0_yellow": 0.1875,
"rzb_dcs:su03_0_0_1_yellow": 0.1875,
"rzb_dcs:su03_0_0_2_yellow": 0.1875,
"rzb_dcs:su03_0_0_0_green": 0.1875,
"rzb_dcs:su03_0_0_1_green": 0.1875,
"rzb_dcs:su03_0_0_2_green": 0.1875,
"rzb_dcs:su03_0_0_0_blue": 0.1875,
"rzb_dcs:su03_0_0_1_blue": 0.1875,
"rzb_dcs:su03_0_0_2_blue": 0.1875,
"rzb_dcs:su03_0_0_0_purple": 0.1875,
"rzb_dcs:su03_0_0_1_purple": 0.1875,
"rzb_dcs:su03_0_0_2_purple": 0.1875,
"rzb_dcs:su03_0_0_0_pink": 0.1875,
"rzb_dcs:su03_0_0_1_pink": 0.1875,
"rzb_dcs:su03_0_0_2_pink": 0.1875,
"rzb_dcs:sp50": 0.7813,
"rzb_dcs:sp48_red": 1,
"rzb_dcs:sp48_pink": 1,
"rzb_dcs:sp48_pink_alt": 1,
"rzb_dcs:sp48_orange": 1,
"rzb_dcs:sp48_yellow": 1,
"rzb_dcs:sp48_yellow_alt": 1,
"rzb_dcs:sp48_green": 1,
"rzb_dcs:sp48_blue": 1,
"rzb_dcs:sp48_purple": 1,
"rzb_dcs:sp48_white": 1,
"rzb_dcs:sp48_black": 1,
"rzb_dcs:sp49_red": 1,
"rzb_dcs:sp49_pink": 1,
"rzb_dcs:sp49_pink_alt": 1,
"rzb_dcs:sp49_orange": 1,
"rzb_dcs:sp49_yellow": 1,
"rzb_dcs:sp49_yellow_alt": 1,
"rzb_dcs:sp49_green": 1,
"rzb_dcs:sp49_blue": 1,
"rzb_dcs:sp49_purple": 1,
"rzb_dcs:sp49_white": 1,
"rzb_dcs:sp49_black": 1,
"rzb_dcs:sp47_red": 0.75,
"rzb_dcs:sp47_pink": 0.75,
"rzb_dcs:sp47_pink_alt": 0.75,
"rzb_dcs:sp47_orange": 0.75,
"rzb_dcs:sp47_yellow": 0.75,
"rzb_dcs:sp47_yellow_alt": 0.75,
"rzb_dcs:sp47_green": 0.75,
"rzb_dcs:sp47_blue": 0.75,
"rzb_dcs:sp47_purple": 0.75,
"rzb_dcs:sp47_white": 0.75,
"rzb_dcs:sp47_black": 0.75,
"rzb_dcs:sp47_red": 0.9986,
"rzb_dcs:sp47_pink": 0.9986,
"rzb_dcs:sp47_pink_alt": 0.9986,
"rzb_dcs:sp47_orange": 0.9986,
"rzb_dcs:sp47_yellow": 0.9986,
"rzb_dcs:sp47_yellow_alt": 0.9986,
"rzb_dcs:sp47_green": 0.9986,
"rzb_dcs:sp47_blue": 0.9986,
"rzb_dcs:sp47_purple": 0.9986,
"rzb_dcs:sp47_white": 0.9986,
"rzb_dcs:sp47_black": 0.9986,
"rzb_dcs:sp46": 0.0625,
"rzb_dcs:fa47": 1,
"rzb_dcs:sp45": 1,
"rzb_dcs:sp45_rainbow": 1,
"rzb_dcs:fa46": 0.0625,
"rzb_dcs:fa45": 0.2206,
"rzb_dcs:wi49_blue": 0.7563,
"rzb_dcs:wi49_green": 0.7563,
"rzb_dcs:wi49_red": 0.7563,
"rzb_dcs:wi49_white": 0.7563,
"rzb_dcs:ct_1_0_2_1_w": 0.9583,
"rzb_dcs:ct_1_1_2_0_w": 0.9583,
"rzb_dcs:ct_1_1_2_2_w": 0.9583,
"rzb_dcs:ct_1_1_3_1_w": 0.9071,
"rzb_dcs:ct_1_2_2_1_w": 0.9583,
"rzb_dcs:lt_1_1_0_1_w": 0.963,
"rzb_dcs:lt_1_1_2_1_w": 0.8758,
"rzb_dcs:hs_happy_valentines_l": 0.9825,
"rzb_dcs:hs_happy_valentines_r": 0.9513,
"rzb_dcs:sp44_blue_and_purple": 0.8125,
"rzb_dcs:sp44_pink_and_green": 0.8125,
"rzb_dcs:hs_happy_spring_l": 0.9825,
"rzb_dcs:hs_happy_spring_r": 0.9513,
"rzb_dcs:hs_happy_summer_l": 0.9825,
"rzb_dcs:hs_happy_summer_r": 0.9513,
"rzb_dcs:hs_happy_fall_l": 0.9825,
"rzb_dcs:hs_happy_fall_r": 0.9513,
"rzb_dcs:hs_happy_winter_l": 0.9825,
"rzb_dcs:hs_happy_winter_r": 0.9513,
"rzb_dcs:hs_happy_birthday_l": 0.9825,
"rzb_dcs:hs_happy_birthday_r": 0.9513,
"rzb_dcs:hs_happy_halloween_l": 0.9825,
"rzb_dcs:hs_happy_halloween_r": 0.9513,
"rzb_dcs:hs_merry_christmas_l": 0.9825,
"rzb_dcs:hs_merry_christmas_r": 0.9513,
"rzb_dcs:at_1_0_2_1": 0.9662,
"rzb_dcs:at_1_1_2_0": 0.9662,
"rzb_dcs:at_1_1_2_2": 0.9662,
"rzb_dcs:at_1_1_3_1": 0.9835,
"rzb_dcs:at_1_2_2_1": 0.9662,
"rzb_dcs:bo_b": 0.78,
"rzb_dcs:bo_t": 0.5625,
"rzb_dcs:bu_1_2_2_black": 0.8337,
"rzb_dcs:bu_1_2_2_blue": 0.8337,
"rzb_dcs:bu_1_2_2_cyan": 0.8337,
"rzb_dcs:bu_1_2_2_gray": 0.8337,
"rzb_dcs:bu_1_2_2_green": 0.8337,
"rzb_dcs:bu_1_2_2_light_blue": 0.8337,
"rzb_dcs:bu_1_2_2_light_gray": 0.8337,
"rzb_dcs:bu_1_2_2_lime": 0.8337,
"rzb_dcs:bu_1_2_2_magenta": 0.8337,
"rzb_dcs:bu_1_2_2_orange": 0.8337,
"rzb_dcs:bu_1_2_2_pink": 0.8337,
"rzb_dcs:bu_1_2_2_purple": 0.8337,
"rzb_dcs:bu_1_2_2_rainbow": 0.8337,
"rzb_dcs:bu_1_2_2_red": 0.8337,
"rzb_dcs:bu_1_2_2_white": 0.8337,
"rzb_dcs:bu_1_2_2_yellow": 0.8337,
"rzb_dcs:bu_1_2_3_black": 0.7044,
"rzb_dcs:bu_1_2_3_blue": 0.7044,
"rzb_dcs:bu_1_2_3_cyan": 0.7044,
"rzb_dcs:bu_1_2_3_gray": 0.7044,
"rzb_dcs:bu_1_2_3_green": 0.7044,
"rzb_dcs:bu_1_2_3_light_blue": 0.7044,
"rzb_dcs:bu_1_2_3_light_gray": 0.7044,
"rzb_dcs:bu_1_2_3_lime": 0.7044,
"rzb_dcs:bu_1_2_3_magenta": 0.7044,
"rzb_dcs:bu_1_2_3_orange": 0.7044,
"rzb_dcs:bu_1_2_3_pink": 0.7044,
"rzb_dcs:bu_1_2_3_purple": 0.7044,
"rzb_dcs:bu_1_2_3_rainbow": 0.7044,
"rzb_dcs:bu_1_2_3_red": 0.7044,
"rzb_dcs:bu_1_2_3_white": 0.7044,
"rzb_dcs:bu_1_2_3_yellow": 0.7044,
"rzb_dcs:bu_1_2_4_black": 0.5313,
"rzb_dcs:bu_1_2_4_blue": 0.5313,
"rzb_dcs:bu_1_2_4_cyan": 0.5313,
"rzb_dcs:bu_1_2_4_gray": 0.5313,
"rzb_dcs:bu_1_2_4_green": 0.5313,
"rzb_dcs:bu_1_2_4_light_blue": 0.5313,
"rzb_dcs:bu_1_2_4_light_gray": 0.5313,
"rzb_dcs:bu_1_2_4_lime": 0.5313,
"rzb_dcs:bu_1_2_4_magenta": 0.5313,
"rzb_dcs:bu_1_2_4_orange": 0.5313,
"rzb_dcs:bu_1_2_4_pink": 0.5313,
"rzb_dcs:bu_1_2_4_purple": 0.5313,
"rzb_dcs:bu_1_2_4_rainbow": 0.5313,
"rzb_dcs:bu_1_2_4_red": 0.5313,
"rzb_dcs:bu_1_2_4_white": 0.5313,
"rzb_dcs:bu_1_2_4_yellow": 0.5313,
"rzb_dcs:bu_2_2_4_black": 0.7294,
"rzb_dcs:bu_2_2_4_blue": 0.7294,
"rzb_dcs:bu_2_2_4_cyan": 0.7294,
"rzb_dcs:bu_2_2_4_gray": 0.7294,
"rzb_dcs:bu_2_2_4_green": 0.7294,
"rzb_dcs:bu_2_2_4_light_blue": 0.7294,
"rzb_dcs:bu_2_2_4_light_gray": 0.7294,
"rzb_dcs:bu_2_2_4_lime": 0.7294,
"rzb_dcs:bu_2_2_4_magenta": 0.7294,
"rzb_dcs:bu_2_2_4_orange": 0.7294,
"rzb_dcs:bu_2_2_4_pink": 0.7294,
"rzb_dcs:bu_2_2_4_purple": 0.7294,
"rzb_dcs:bu_2_2_4_rainbow": 0.7294,
"rzb_dcs:bu_2_2_4_red": 0.7294,
"rzb_dcs:bu_2_2_4_white": 0.7294,
"rzb_dcs:bu_2_2_4_yellow": 0.7294,
"rzb_dcs:bu_2_2_5_black": 0.5313,
"rzb_dcs:bu_2_2_5_blue": 0.5313,
"rzb_dcs:bu_2_2_5_cyan": 0.5313,
"rzb_dcs:bu_2_2_5_gray": 0.5313,
"rzb_dcs:bu_2_2_5_green": 0.5313,
"rzb_dcs:bu_2_2_5_light_blue": 0.5313,
"rzb_dcs:bu_2_2_5_light_gray": 0.5313,
"rzb_dcs:bu_2_2_5_lime": 0.5313,
"rzb_dcs:bu_2_2_5_magenta": 0.5313,
"rzb_dcs:bu_2_2_5_orange": 0.5313,
"rzb_dcs:bu_2_2_5_pink": 0.5313,
"rzb_dcs:bu_2_2_5_purple": 0.5313,
"rzb_dcs:bu_2_2_5_rainbow": 0.5313,
"rzb_dcs:bu_2_2_5_red": 0.5313,
"rzb_dcs:bu_2_2_5_white": 0.5313,
"rzb_dcs:bu_2_2_5_yellow": 0.5313,
"rzb_dcs:bu_3_2_1_black": 0.9375,
"rzb_dcs:bu_3_2_1_blue": 0.9375,
"rzb_dcs:bu_3_2_1_cyan": 0.9375,
"rzb_dcs:bu_3_2_1_gray": 0.9375,
"rzb_dcs:bu_3_2_1_green": 0.9375,
"rzb_dcs:bu_3_2_1_light_blue": 0.9375,
"rzb_dcs:bu_3_2_1_light_gray": 0.9375,
"rzb_dcs:bu_3_2_1_lime": 0.9375,
"rzb_dcs:bu_3_2_1_magenta": 0.9375,
"rzb_dcs:bu_3_2_1_orange": 0.9375,
"rzb_dcs:bu_3_2_1_pink": 0.9375,
"rzb_dcs:bu_3_2_1_purple": 0.9375,
"rzb_dcs:bu_3_2_1_rainbow": 0.9375,
"rzb_dcs:bu_3_2_1_red": 0.9375,
"rzb_dcs:bu_3_2_1_white": 0.9375,
"rzb_dcs:bu_3_2_1_yellow": 0.9375,
"rzb_dcs:bu_3_2_4_black": 0.8956,
"rzb_dcs:bu_3_2_4_blue": 0.8956,
"rzb_dcs:bu_3_2_4_cyan": 0.8956,
"rzb_dcs:bu_3_2_4_gray": 0.8956,
"rzb_dcs:bu_3_2_4_green": 0.8956,
"rzb_dcs:bu_3_2_4_light_blue": 0.8956,
"rzb_dcs:bu_3_2_4_light_gray": 0.8956,
"rzb_dcs:bu_3_2_4_lime": 0.8956,
"rzb_dcs:bu_3_2_4_magenta": 0.8956,
"rzb_dcs:bu_3_2_4_orange": 0.8956,
"rzb_dcs:bu_3_2_4_pink": 0.8956,
"rzb_dcs:bu_3_2_4_purple": 0.8956,
"rzb_dcs:bu_3_2_4_rainbow": 0.8956,
"rzb_dcs:bu_3_2_4_red": 0.8956,
"rzb_dcs:bu_3_2_4_white": 0.8956,
"rzb_dcs:bu_3_2_4_yellow": 0.8956,
"rzb_dcs:bu_3_2_5_black": 0.2044,
"rzb_dcs:bu_3_2_5_blue": 0.2044,
"rzb_dcs:bu_3_2_5_cyan": 0.2044,
"rzb_dcs:bu_3_2_5_gray": 0.2044,
"rzb_dcs:bu_3_2_5_green": 0.2044,
"rzb_dcs:bu_3_2_5_light_blue": 0.2044,
"rzb_dcs:bu_3_2_5_light_gray": 0.2044,
"rzb_dcs:bu_3_2_5_lime": 0.2044,
"rzb_dcs:bu_3_2_5_magenta": 0.2044,
"rzb_dcs:bu_3_2_5_orange": 0.2044,
"rzb_dcs:bu_3_2_5_pink": 0.2044,
"rzb_dcs:bu_3_2_5_purple": 0.2044,
"rzb_dcs:bu_3_2_5_rainbow": 0.2044,
"rzb_dcs:bu_3_2_5_red": 0.2044,
"rzb_dcs:bu_3_2_5_white": 0.2044,
"rzb_dcs:bu_3_2_5_yellow": 0.2044,
"rzb_dcs:bu_4_2_4_black": 0.7294,
"rzb_dcs:bu_4_2_4_blue": 0.7294,
"rzb_dcs:bu_4_2_4_cyan": 0.7294,
"rzb_dcs:bu_4_2_4_gray": 0.7294,
"rzb_dcs:bu_4_2_4_green": 0.7294,
"rzb_dcs:bu_4_2_4_light_blue": 0.7294,
"rzb_dcs:bu_4_2_4_light_gray": 0.7294,
"rzb_dcs:bu_4_2_4_lime": 0.7294,
"rzb_dcs:bu_4_2_4_magenta": 0.7294,
"rzb_dcs:bu_4_2_4_orange": 0.7294,
"rzb_dcs:bu_4_2_4_pink": 0.7294,
"rzb_dcs:bu_4_2_4_purple": 0.7294,
"rzb_dcs:bu_4_2_4_rainbow": 0.7294,
"rzb_dcs:bu_4_2_4_red": 0.7294,
"rzb_dcs:bu_4_2_4_white": 0.7294,
"rzb_dcs:bu_4_2_4_yellow": 0.7294,
"rzb_dcs:bu_4_2_5_black": 0.5313,
"rzb_dcs:bu_4_2_5_blue": 0.5313,
"rzb_dcs:bu_4_2_5_cyan": 0.5313,
"rzb_dcs:bu_4_2_5_gray": 0.5313,
"rzb_dcs:bu_4_2_5_green": 0.5313,
"rzb_dcs:bu_4_2_5_light_blue": 0.5313,
"rzb_dcs:bu_4_2_5_light_gray": 0.5313,
"rzb_dcs:bu_4_2_5_lime": 0.5313,
"rzb_dcs:bu_4_2_5_magenta": 0.5313,
"rzb_dcs:bu_4_2_5_orange": 0.5313,
"rzb_dcs:bu_4_2_5_pink": 0.5313,
"rzb_dcs:bu_4_2_5_purple": 0.5313,
"rzb_dcs:bu_4_2_5_rainbow": 0.5313,
"rzb_dcs:bu_4_2_5_red": 0.5313,
"rzb_dcs:bu_4_2_5_white": 0.5313,
"rzb_dcs:bu_4_2_5_yellow": 0.5313,
"rzb_dcs:bu_5_2_2_black": 0.8256,
"rzb_dcs:bu_5_2_2_blue": 0.8256,
"rzb_dcs:bu_5_2_2_cyan": 0.8256,
"rzb_dcs:bu_5_2_2_gray": 0.8256,
"rzb_dcs:bu_5_2_2_green": 0.8256,
"rzb_dcs:bu_5_2_2_light_blue": 0.8256,
"rzb_dcs:bu_5_2_2_light_gray": 0.8256,
"rzb_dcs:bu_5_2_2_lime": 0.8256,
"rzb_dcs:bu_5_2_2_magenta": 0.8256,
"rzb_dcs:bu_5_2_2_orange": 0.8256,
"rzb_dcs:bu_5_2_2_pink": 0.8256,
"rzb_dcs:bu_5_2_2_purple": 0.8256,
"rzb_dcs:bu_5_2_2_rainbow": 0.8256,
"rzb_dcs:bu_5_2_2_red": 0.8256,
"rzb_dcs:bu_5_2_2_white": 0.8256,
"rzb_dcs:bu_5_2_2_yellow": 0.8256,
"rzb_dcs:bu_5_2_3_black": 0.6963,
"rzb_dcs:bu_5_2_3_blue": 0.6963,
"rzb_dcs:bu_5_2_3_cyan": 0.6963,
"rzb_dcs:bu_5_2_3_gray": 0.6963,
"rzb_dcs:bu_5_2_3_green": 0.6963,
"rzb_dcs:bu_5_2_3_light_blue": 0.6963,
"rzb_dcs:bu_5_2_3_light_gray": 0.6963,
"rzb_dcs:bu_5_2_3_lime": 0.6963,
"rzb_dcs:bu_5_2_3_magenta": 0.6963,
"rzb_dcs:bu_5_2_3_orange": 0.6963,
"rzb_dcs:bu_5_2_3_pink": 0.6963,
"rzb_dcs:bu_5_2_3_purple": 0.6963,
"rzb_dcs:bu_5_2_3_rainbow": 0.6963,
"rzb_dcs:bu_5_2_3_red": 0.6963,
"rzb_dcs:bu_5_2_3_white": 0.6963,
"rzb_dcs:bu_5_2_3_yellow": 0.6963,
"rzb_dcs:bu_5_2_4_black": 0.5313,
"rzb_dcs:bu_5_2_4_blue": 0.5313,
"rzb_dcs:bu_5_2_4_cyan": 0.5313,
"rzb_dcs:bu_5_2_4_gray": 0.5313,
"rzb_dcs:bu_5_2_4_green": 0.5313,
"rzb_dcs:bu_5_2_4_light_blue": 0.5313,
"rzb_dcs:bu_5_2_4_light_gray": 0.5313,
"rzb_dcs:bu_5_2_4_lime": 0.5313,
"rzb_dcs:bu_5_2_4_magenta": 0.5313,
"rzb_dcs:bu_5_2_4_orange": 0.5313,
"rzb_dcs:bu_5_2_4_pink": 0.5313,
"rzb_dcs:bu_5_2_4_purple": 0.5313,
"rzb_dcs:bu_5_2_4_rainbow": 0.5313,
"rzb_dcs:bu_5_2_4_red": 0.5313,
"rzb_dcs:bu_5_2_4_white": 0.5313,
"rzb_dcs:bu_5_2_4_yellow": 0.5313,
"rzb_dcs:ct_1_0_2_1": 0.9583,
"rzb_dcs:ct_1_1_2_0": 0.9583,
"rzb_dcs:ct_1_1_2_2": 0.9583,
"rzb_dcs:ct_1_1_3_1": 0.9071,
"rzb_dcs:ct_1_2_2_1": 0.9583,
"rzb_dcs:fc_0_0_0": 0.4861,
"rzb_dcs:fc_0_0_1": 0.4861,
"rzb_dcs:fc_1_2_0": 0.6339,
"rzb_dcs:fc_1_2_1": 0.6339,
"rzb_dcs:fc_2_0_0": 0.929,
"rzb_dcs:fc_2_0_1": 0.929,
"rzb_dcs:fc_2_2_0": 0.6339,
"rzb_dcs:fc_2_2_1": 0.6339,
"rzb_dcs:fc_3_0_0": 0.8196,
"rzb_dcs:fc_3_0_1": 0.8196,
"rzb_dcs:fc_3_1_0": 0.0395,
"rzb_dcs:fc_4_0_0": 0.9446,
"rzb_dcs:fc_4_0_1": 0.9446,
"rzb_dcs:fc_4_1_0": 0.304,
"rzb_dcs:fc_4_1_1": 0.304,
"rzb_dcs:fc_5_1_0": 0.1377,
"rzb_dcs:ic_1_2_0": 0.4445,
"rzb_dcs:ic_2_2_0": 0.4445,
"rzb_dcs:invisible_block": 0.9938,
"rzb_dcs:invisible_block_10": 0.4688,
"rzb_dcs:invisible_block_11": 0.5313,
"rzb_dcs:invisible_block_15": 0.375,
"rzb_dcs:invisible_block_18": 0.5,
"rzb_dcs:invisible_block_2": 0.4688,
"rzb_dcs:invisible_block_20": 0.7188,
"rzb_dcs:invisible_block_21": 0.4,
"rzb_dcs:invisible_block_22": 0.9375,
"rzb_dcs:invisible_block_23": 0.5625,
"rzb_dcs:invisible_block_26": 0.0625,
"rzb_dcs:invisible_block_27": 0.9375,
"rzb_dcs:invisible_block_29": 0.1875,
"rzb_dcs:invisible_block_3": 0.5625,
"rzb_dcs:invisible_block_30": 0.5625,
"rzb_dcs:invisible_block_31": 0.6563,
"rzb_dcs:invisible_block_34": 0.5625,
"rzb_dcs:invisible_block_35": 0.75,
"rzb_dcs:invisible_block_35b": 0.75,
"rzb_dcs:invisible_block_36": 0.5938,
"rzb_dcs:invisible_block_4": 0.9938,
"rzb_dcs:invisible_block_40": 0.6875,
"rzb_dcs:invisible_block_41": 0.875,
"rzb_dcs:invisible_block_42": 0.875,
"rzb_dcs:invisible_block_43": 0.4906,
"rzb_dcs:invisible_block_4b": 0.9938,
"rzb_dcs:invisible_block_5": 0.5625,
"rzb_dcs:invisible_block_light_4": 0.6563,
"rzb_dcs:invisible_blockb": 0.9938,
"rzb_dcs:invisible_blockb_2": 0.9938,
"rzb_dcs:lt_1_1_0_1": 0.963,
"rzb_dcs:lt_1_1_2_1": 0.8758,
"rzb_dcs:mn_1_0_1_0": 0.5629,
"rzb_dcs:mn_1_1_1_0": 0.8945,
"rzb_dcs:mn_1_2_2_0": 0.0702,
"rzb_dcs:sp12_gold": 0.1906,
"rzb_dcs:sp12_rosegold": 0.1906,
"rzb_dcs:sp12_silver": 0.1906,
"rzb_dcs:sp13_clovers": 0.9988,
"rzb_dcs:sp13_hearts_pink": 0.9988,
"rzb_dcs:sp13_hearts_red": 0.9988,
"rzb_dcs:sp13_hearts_red_pink": 0.9988,
"rzb_dcs:sp13_hearts_white_pink": 0.9988,
"rzb_dcs:sp13_hearts_white_red": 0.9988,
"rzb_dcs:sp18": 0.5,
"rzb_dcs:sp19": 0.9688,
"rzb_dcs:sp20": 0.5938,
"rzb_dcs:sp21_pink": 0.875,
"rzb_dcs:sp21_red": 0.875,
"rzb_dcs:sp21_white": 0.875,
"rzb_dcs:sp21_yellow": 0.875,
"rzb_dcs:sp22_pink": 0.6126,
"rzb_dcs:sp22_purple": 0.6126,
"rzb_dcs:sp22_red": 0.6126,
"rzb_dcs:sp22_salmon": 0.6126,
"rzb_dcs:sp22_white": 0.6126,
"rzb_dcs:sp22_yellow": 0.6126,
"rzb_dcs:sp23": 0.9375,
"rzb_dcs:sp25_pink": 0.1611,
"rzb_dcs:sp25_red": 0.1611,
"rzb_dcs:sp26_flowers1": 0.8125,
"rzb_dcs:sp26_flowers2": 0.8125,
"rzb_dcs:sp26_tulips": 0.8125,
"rzb_dcs:sp27_plain": 0.0375,
"rzb_dcs:sp27_spring": 0.0375,
"rzb_dcs:sp29_clovers": 0.9988,
"rzb_dcs:sp29_hearts_pink": 0.9988,
"rzb_dcs:sp29_hearts_red": 0.9988,
"rzb_dcs:sp29_hearts_red_pink": 0.9988,
"rzb_dcs:sp29_hearts_white_pink": 0.9988,
"rzb_dcs:sp29_hearts_white_red": 0.9988,
"rzb_dcs:sp31_bl_black": 0.375,
"rzb_dcs:sp31_bl_cherry": 0.375,
"rzb_dcs:sp31_bl_ebony": 0.375,
"rzb_dcs:sp31_bl_oak": 0.375,
"rzb_dcs:sp31_bl_palm": 0.375,
"rzb_dcs:sp31_bl_spruce": 0.375,
"rzb_dcs:sp31_bl_white": 0.375,
"rzb_dcs:sp31_br_black": 0.375,
"rzb_dcs:sp31_br_cherry": 0.375,
"rzb_dcs:sp31_br_ebony": 0.375,
"rzb_dcs:sp31_br_oak": 0.375,
"rzb_dcs:sp31_br_palm": 0.375,
"rzb_dcs:sp31_br_spruce": 0.375,
"rzb_dcs:sp31_br_white": 0.375,
"rzb_dcs:sp32_b_1": 0.375,
"rzb_dcs:sp32_b_2": 0.375,
"rzb_dcs:sp32_b_3": 0.375,
"rzb_dcs:sp32_b_4": 0.375,
"rzb_dcs:sp32_b_5": 0.375,
"rzb_dcs:sp32_b_6": 0.375,
"rzb_dcs:sp32_b_7": 0.375,
"rzb_dcs:sp32_b_8": 0.375,
"rzb_dcs:sp34": 0.5625,
"rzb_dcs:sp37_red": 0.875,
"rzb_dcs:sp37_white": 0.875,
"rzb_dcs:su01_1": 0.625,
"rzb_dcs:su01_2": 0.625,
"rzb_dcs:su01_3": 0.625,
"rzb_dcs:su01_4": 0.625,
"rzb_dcs:su01_5": 0.625,
"rzb_dcs:su01_6": 0.625,
"rzb_dcs:su01_7": 0.625,
"rzb_dcs:su01_rainbow": 0.625,
"rzb_dcs:su02_black": 0.375,
"rzb_dcs:su02_blue": 0.375,
"rzb_dcs:su02_cyan": 0.375,
"rzb_dcs:su02_green": 0.375,
"rzb_dcs:su02_light_blue": 0.375,
"rzb_dcs:su02_lime": 0.375,
"rzb_dcs:su02_magenta": 0.375,
"rzb_dcs:su02_orange": 0.375,
"rzb_dcs:su02_pink": 0.375,
"rzb_dcs:su02_purple": 0.375,
"rzb_dcs:su02_red": 0.375,
"rzb_dcs:su02_yellow": 0.375,
"rzb_dcs:su03_0_0_0": 0.1875,
"rzb_dcs:su03_0_0_1": 0.1875,
"rzb_dcs:su04": 0.5625,
"rzb_dcs:su05": 0.3823,
"rzb_dcs:su06": 0.3182,
"rzb_dcs:su07": 0.4682,
"rzb_dcs:su08_green": 0.5,
"rzb_dcs:su08_yellow": 0.5,
"rzb_dcs:su09_green": 0.5,
"rzb_dcs:su09_yellow": 0.5,
"rzb_dcs:su10_green": 0.5,
"rzb_dcs:su10_yellow": 0.5,
"rzb_dcs:su11_green": 0.5,
"rzb_dcs:su11_yellow": 0.5,
"rzb_dcs:su14_black": 0.875,
"rzb_dcs:su14_blue": 0.875,
"rzb_dcs:su14_closed_black": 0.5,
"rzb_dcs:su14_closed_blue": 0.5,
"rzb_dcs:su14_closed_gray": 0.5,
"rzb_dcs:su14_closed_green": 0.5,
"rzb_dcs:su14_closed_light_gray": 0.5,
"rzb_dcs:su14_closed_orange": 0.5,
"rzb_dcs:su14_closed_red": 0.5,
"rzb_dcs:su14_gray": 0.875,
"rzb_dcs:su14_green": 0.875,
"rzb_dcs:su14_light_gray": 0.875,
"rzb_dcs:su14_orange": 0.875,
"rzb_dcs:su14_red": 0.875,
"rzb_dcs:su15_green": 0.5156,
"rzb_dcs:su15_yellow": 0.5156,
"rzb_dcs:su16_green": 0.5156,
"rzb_dcs:su16_yellow": 0.5156,
"rzb_dcs:su17_green": 0.625,
"rzb_dcs:su17_yellow": 0.625,
"rzb_dcs:su18": 0.3203,
"rzb_dcs:su20": 0.5,
"rzb_dcs:su22_black": 0.6047,
"rzb_dcs:su22_blue": 0.6047,
"rzb_dcs:su22_cyan": 0.6047,
"rzb_dcs:su22_gray": 0.6047,
"rzb_dcs:su22_green": 0.6047,
"rzb_dcs:su22_light_blue": 0.6047,
"rzb_dcs:su22_light_gray": 0.6047,
"rzb_dcs:su22_lime": 0.6047,
"rzb_dcs:su22_magenta": 0.6047,
"rzb_dcs:su22_orange": 0.6047,
"rzb_dcs:su22_pink": 0.6047,
"rzb_dcs:su22_purple": 0.6047,
"rzb_dcs:su22_red": 0.6047,
"rzb_dcs:su22_white": 0.6047,
"rzb_dcs:su22_yellow": 0.6047,
"rzb_dcs:su23_blue": 0.5156,
"rzb_dcs:su23_green": 0.5156,
"rzb_dcs:su23_magenta": 0.5156,
"rzb_dcs:su23_orange": 0.5156,
"rzb_dcs:su23_red": 0.5156,
"rzb_dcs:su24": 0.7344,
"rzb_dcs:su25_brown": 0.3236,
"rzb_dcs:su25_green": 0.3236,
"rzb_dcs:su26": 0.6094,
"rzb_dcs:su30_lb_blue": 0.0625,
"rzb_dcs:su30_lb_cyan": 0.0625,
"rzb_dcs:su30_lb_green": 0.0625,
"rzb_dcs:su30_lb_light_blue": 0.0625,
"rzb_dcs:su30_lb_lime": 0.0625,
"rzb_dcs:su30_lb_magenta": 0.0625,
"rzb_dcs:su30_lb_orange": 0.0625,
"rzb_dcs:su30_lb_pink": 0.0625,
"rzb_dcs:su30_lb_purple": 0.0625,
"rzb_dcs:su30_lb_red": 0.0625,
"rzb_dcs:su30_lb_yellow": 0.0625,
"rzb_dcs:su30_lf_blue": 0.0625,
"rzb_dcs:su30_lf_cyan": 0.0625,
"rzb_dcs:su30_lf_green": 0.0625,
"rzb_dcs:su30_lf_light_blue": 0.0625,
"rzb_dcs:su30_lf_lime": 0.0625,
"rzb_dcs:su30_lf_magenta": 0.0625,
"rzb_dcs:su30_lf_orange": 0.0625,
"rzb_dcs:su30_lf_pink": 0.0625,
"rzb_dcs:su30_lf_purple": 0.0625,
"rzb_dcs:su30_lf_red": 0.0625,
"rzb_dcs:su30_lf_yellow": 0.0625,
"rzb_dcs:su32_rainbow": 0.5156,
"rzb_dcs:su32_red": 0.5156,
"rzb_dcs:su33": 0.5893,
"rzb_dcs:su34": 0.2031,
"rzb_dcs:su35_black": 0.4349,
"rzb_dcs:su35_blue": 0.4349,
"rzb_dcs:su35_cyan": 0.4349,
"rzb_dcs:su35_gray": 0.4349,
"rzb_dcs:su35_green": 0.4349,
"rzb_dcs:su35_light_blue": 0.4349,
"rzb_dcs:su35_light_gray": 0.4349,
"rzb_dcs:su35_lime": 0.4349,
"rzb_dcs:su35_magenta": 0.4349,
"rzb_dcs:su35_orange": 0.4349,
"rzb_dcs:su35_pink": 0.4349,
"rzb_dcs:su35_purple": 0.4349,
"rzb_dcs:su35_red": 0.4349,
"rzb_dcs:su35_white": 0.4349,
"rzb_dcs:su35_yellow": 0.4349,
"rzb_dcs:su36_horchata": 0.7985,
"rzb_dcs:su36_jamaica": 0.7985,
"rzb_dcs:su36_lemonade": 0.8377,
"rzb_dcs:su36_lemonade_pink": 0.8377,
"rzb_dcs:su36_limeade": 0.8377,
"rzb_dcs:su36_orangeade": 0.8377,
"rzb_dcs:su36_tamarind": 0.7985,
"rzb_dcs:tw_b_blue": 0.0313,
"rzb_dcs:tw_b_cyan": 0.0313,
"rzb_dcs:tw_b_light_blue": 0.0313,
"rzb_dcs:tw_b_lime": 0.0313,
"rzb_dcs:tw_b_magenta": 0.0313,
"rzb_dcs:tw_b_orange": 0.0313,
"rzb_dcs:tw_b_pink": 0.0313,
"rzb_dcs:tw_b_purple": 0.0313,
"rzb_dcs:tw_b_rainbow": 0.0313,
"rzb_dcs:tw_b_red": 0.0313,
"rzb_dcs:tw_b_yellow": 0.0313,
"rzb_dcs:tw_fr_blue": 0.0313,
"rzb_dcs:tw_fr_cyan": 0.0313,
"rzb_dcs:tw_fr_light_blue": 0.0313,
"rzb_dcs:tw_fr_lime": 0.0313,
"rzb_dcs:tw_fr_magenta": 0.0313,
"rzb_dcs:tw_fr_orange": 0.0313,
"rzb_dcs:tw_fr_pink": 0.0313,
"rzb_dcs:tw_fr_purple": 0.0313,
"rzb_dcs:tw_fr_rainbow": 0.0313,
"rzb_dcs:tw_fr_red": 0.0313,
"rzb_dcs:tw_fr_yellow": 0.0313,
"rzb_dcs:tw_b_black": 0.0313,
"rzb_dcs:tw_fr_black": 0.0313,
"rzb_dcs:tw_b_gray": 0.0313,
"rzb_dcs:tw_fr_gray": 0.0313,
"rzb_dcs:tw_b_green": 0.0313,
"rzb_dcs:tw_fr_green": 0.0313,
"rzb_dcs:tw_b_light_gray": 0.0313,
"rzb_dcs:tw_fr_light_gray": 0.0313,
"rzb_dcs:tw_b_white": 0.0313,
"rzb_dcs:tw_fr_white": 0.0313,
"rzb_dcs:um_1_2_2_green": 0.5581,
"rzb_dcs:um_1_2_2_yellow": 0.5581,
"rzb_dcs:um_1_2_3_green": 0.5644,
"rzb_dcs:um_1_2_3_yellow": 0.5644,
"rzb_dcs:um_1_2_4_green": 0.5581,
"rzb_dcs:um_1_2_4_yellow": 0.5581,
"rzb_dcs:um_2_2_1_green": 0.5581,
"rzb_dcs:um_2_2_1_yellow": 0.5581,
"rzb_dcs:um_2_2_2_green": 0.83,
"rzb_dcs:um_2_2_2_yellow": 0.83,
"rzb_dcs:um_2_2_3_green": 0.9719,
"rzb_dcs:um_2_2_3_yellow": 0.9719,
"rzb_dcs:um_2_2_4_green": 0.83,
"rzb_dcs:um_2_2_4_yellow": 0.83,
"rzb_dcs:um_2_2_5_green": 0.5581,
"rzb_dcs:um_2_2_5_yellow": 0.5581,
"rzb_dcs:um_3_2_1_green": 0.5644,
"rzb_dcs:um_3_2_1_yellow": 0.5644,
"rzb_dcs:um_3_2_2_green": 0.9719,
"rzb_dcs:um_3_2_2_yellow": 0.9719,
"rzb_dcs:um_3_2_4_green": 0.9719,
"rzb_dcs:um_3_2_4_yellow": 0.9719,
"rzb_dcs:um_3_2_5_green": 0.5644,
"rzb_dcs:um_3_2_5_yellow": 0.5644,
"rzb_dcs:um_4_2_1_green": 0.5581,
"rzb_dcs:um_4_2_1_yellow": 0.5581,
"rzb_dcs:um_4_2_2_green": 0.83,
"rzb_dcs:um_4_2_2_yellow": 0.83,
"rzb_dcs:um_4_2_3_green": 0.9719,
"rzb_dcs:um_4_2_3_yellow": 0.9719,
"rzb_dcs:um_4_2_4_green": 0.83,
"rzb_dcs:um_4_2_4_yellow": 0.83,
"rzb_dcs:um_4_2_5_green": 0.5581,
"rzb_dcs:um_4_2_5_yellow": 0.5581,
"rzb_dcs:um_5_2_2_green": 0.5581,
"rzb_dcs:um_5_2_2_yellow": 0.5581,
"rzb_dcs:um_5_2_3_green": 0.5644,
"rzb_dcs:um_5_2_3_yellow": 0.5644,
"rzb_dcs:um_5_2_4_green": 0.5581,
"rzb_dcs:um_5_2_4_yellow": 0.5581,
"rzb_dcs:wi02_t": 0.9758,
"rzb_dcs:wi03": 0.7714,
"rzb_dcs:wi04": 0.7031,
"rzb_dcs:wi05_color": 0.9972,
"rzb_dcs:wi05_rainbow": 0.9972,
"rzb_dcs:wi05_white": 0.9972,
"rzb_dcs:wi06_color": 0.9972,
"rzb_dcs:wi06_rainbow": 0.9972,
"rzb_dcs:wi06_white": 0.9972,
"rzb_dcs:wi07_color": 0.089,
"rzb_dcs:wi07_rainbow": 0.089,
"rzb_dcs:wi07_white": 0.089,
"rzb_dcs:wi08_color": 0.089,
"rzb_dcs:wi08_rainbow": 0.089,
"rzb_dcs:wi08_white": 0.089,
"rzb_dcs:wi09_rainbow": 0.9972,
"rzb_dcs:wi09_white": 0.9972,
"rzb_dcs:wi09_yellow": 0.9972,
"rzb_dcs:wi10": 0.9094,
"rzb_dcs:wi12_p0": 0.9094,
"rzb_dcs:wi12_r": 0.9094,
"rzb_dcs:wi14": 0.8123,
"rzb_dcs:wi15": 0.37,
"rzb_dcs:wi16_chocolate_chip": 0.1397,
"rzb_dcs:wi16_gingerbread": 0.127,
"rzb_dcs:wi16_mmm": 0.1397,
"rzb_dcs:wi16_raisins": 0.1397,
"rzb_dcs:wi18_rainbow": 0.9301,
"rzb_dcs:wi18_white": 0.9301,
"rzb_dcs:wi19_bg": 0.9275,
"rzb_dcs:wi19_rb": 0.9275,
"rzb_dcs:wi19_rg": 0.9275,
"rzb_dcs:wi19_sg": 0.9275,
"rzb_dcs:wi20": 0.9274,
"rzb_dcs:wi21": 0.9275,
"rzb_dcs:wi22": 0.9275,
"rzb_dcs:wi23": 0.9459,
"rzb_dcs:wi24": 0.9375,
"rzb_dcs:wi25": 0.9375,
"rzb_dcs:wi26": 0.9375,
"rzb_dcs:wi27": 0.9375,
"rzb_dcs:wi28": 0.9375,
"rzb_dcs:wi29_pink": 0.8514,
"rzb_dcs:wi29_red": 0.8514,
"rzb_dcs:wi29_white": 0.8514,
"rzb_dcs:wi30_blue": 0.5009,
"rzb_dcs:wi30_cyan": 0.5009,
"rzb_dcs:wi30_green": 0.5009,
"rzb_dcs:wi30_light_blue": 0.5009,
"rzb_dcs:wi30_lime": 0.5009,
"rzb_dcs:wi30_magenta": 0.5009,
"rzb_dcs:wi30_orange": 0.5009,
"rzb_dcs:wi30_pink": 0.5009,
"rzb_dcs:wi30_purple": 0.5009,
"rzb_dcs:wi30_red": 0.5009,
"rzb_dcs:wi30_white": 0.5009,
"rzb_dcs:wi30_yellow": 0.5009,
"rzb_dcs:wi31_blue": 0.5009,
"rzb_dcs:wi31_cyan": 0.5009,
"rzb_dcs:wi31_green": 0.5009,
"rzb_dcs:wi31_light_blue": 0.5009,
"rzb_dcs:wi31_lime": 0.5009,
"rzb_dcs:wi31_magenta": 0.5009,
"rzb_dcs:wi31_orange": 0.5009,
"rzb_dcs:wi31_pink": 0.5009,
"rzb_dcs:wi31_purple": 0.5009,
"rzb_dcs:wi31_red": 0.5009,
"rzb_dcs:wi31_white": 0.5009,
"rzb_dcs:wi31_yellow": 0.5009,
"rzb_dcs:wi32_blue": 0.4853,
"rzb_dcs:wi32_cyan": 0.4853,
"rzb_dcs:wi32_green": 0.4853,
"rzb_dcs:wi32_light_blue": 0.4853,
"rzb_dcs:wi32_lime": 0.4853,
"rzb_dcs:wi32_magenta": 0.4853,
"rzb_dcs:wi32_orange": 0.4853,
"rzb_dcs:wi32_pink": 0.4853,
"rzb_dcs:wi32_purple": 0.4853,
"rzb_dcs:wi32_red": 0.4853,
"rzb_dcs:wi32_white": 0.4853,
"rzb_dcs:wi32_yellow": 0.4853,
"rzb_dcs:wi33_blue": 0.3134,
"rzb_dcs:wi33_cyan": 0.3134,
"rzb_dcs:wi33_green": 0.3134,
"rzb_dcs:wi33_light_blue": 0.3134,
"rzb_dcs:wi33_lime": 0.3134,
"rzb_dcs:wi33_magenta": 0.3134,
"rzb_dcs:wi33_orange": 0.3134,
"rzb_dcs:wi33_pink": 0.3134,
"rzb_dcs:wi33_purple": 0.3134,
"rzb_dcs:wi33_red": 0.3134,
"rzb_dcs:wi33_white": 0.3134,
"rzb_dcs:wi33_yellow": 0.3134,
"rzb_dcs:wi34_1": 0.5009,
"rzb_dcs:wi34_2": 0.5009,
"rzb_dcs:wi34_3": 0.5009,
"rzb_dcs:wi34_4": 0.5009,
"rzb_dcs:wi34_5": 0.5009,
"rzb_dcs:wi35_10": 0.5009,
"rzb_dcs:wi35_11": 0.5009,
"rzb_dcs:wi35_6": 0.5009,
"rzb_dcs:wi35_7": 0.5009,
"rzb_dcs:wi35_8": 0.5009,
"rzb_dcs:wi35_9": 0.5009,
"rzb_dcs:wi36": 0.5338,
"rzb_dcs:wi38_color": 0.9971,
"rzb_dcs:wi38_rainbow": 0.9971,
"rzb_dcs:wi38_white": 0.9971,
"rzb_dcs:wi40_blue": 0.8946,
"rzb_dcs:wi40_green": 0.8946,
"rzb_dcs:wi40_red": 0.8946,
"rzb_dcs:wi41_b_blue": 0.3719,
"rzb_dcs:wi41_b_green": 0.3719,
"rzb_dcs:wi41_b_red": 0.3719,
"rzb_dcs:wi41_b_yellow": 0.3719,
"rzb_dcs:wi41_fr_blue": 0.3767,
"rzb_dcs:wi41_fr_green": 0.3767,
"rzb_dcs:wi41_fr_red": 0.3767,
"rzb_dcs:wi41_fr_yellow": 0.3767
};
// Pack blocks with NO collision in any permutation; vehicles ride straight through these instead of climbing them.
export const BLOCK_PASSABLE = new Set([
"rzb_dcs:at_1_0_0_0",
"rzb_dcs:at_1_0_0_2",
"rzb_dcs:at_1_0_1_0",
"rzb_dcs:at_1_0_1_2",
"rzb_dcs:at_1_0_2_0",
"rzb_dcs:at_1_0_2_2",
"rzb_dcs:at_1_0_3_0",
"rzb_dcs:at_1_0_3_1",
"rzb_dcs:at_1_0_3_2",
"rzb_dcs:at_1_1_3_0",
"rzb_dcs:at_1_1_3_2",
"rzb_dcs:at_1_2_0_0",
"rzb_dcs:at_1_2_0_2",
"rzb_dcs:at_1_2_1_0",
"rzb_dcs:at_1_2_1_2",
"rzb_dcs:at_1_2_2_0",
"rzb_dcs:at_1_2_2_2",
"rzb_dcs:at_1_2_3_0",
"rzb_dcs:at_1_2_3_1",
"rzb_dcs:at_1_2_3_2",
"rzb_dcs:ct_1_0_0_0",
"rzb_dcs:ct_1_0_0_2",
"rzb_dcs:ct_1_0_1_0",
"rzb_dcs:ct_1_0_1_2",
"rzb_dcs:ct_1_0_2_0",
"rzb_dcs:ct_1_0_2_2",
"rzb_dcs:ct_1_0_3_0",
"rzb_dcs:ct_1_0_3_1",
"rzb_dcs:ct_1_0_3_2",
"rzb_dcs:ct_1_1_3_0",
"rzb_dcs:ct_1_1_3_2",
"rzb_dcs:ct_1_2_0_0",
"rzb_dcs:ct_1_2_0_2",
"rzb_dcs:ct_1_2_1_0",
"rzb_dcs:ct_1_2_1_2",
"rzb_dcs:ct_1_2_2_0",
"rzb_dcs:ct_1_2_2_2",
"rzb_dcs:ct_1_2_3_0",
"rzb_dcs:ct_1_2_3_1",
"rzb_dcs:ct_1_2_3_2",
"rzb_dcs:invisible_block_light_5",
"rzb_dcs:invisible_block_light_6",
"rzb_dcs:invisible_block_light_6b",
"rzb_dcs:invisible_block_light_7",
"rzb_dcs:lc_a_blue",
"rzb_dcs:lc_a_cyan",
"rzb_dcs:lc_a_light_blue",
"rzb_dcs:lc_a_lime",
"rzb_dcs:lc_a_magenta",
"rzb_dcs:lc_a_orange",
"rzb_dcs:lc_a_pink",
"rzb_dcs:lc_a_purple",
"rzb_dcs:lc_a_red",
"rzb_dcs:lc_a_white",
"rzb_dcs:lc_a_yellow",
"rzb_dcs:lt_1_0_0_0",
"rzb_dcs:lt_1_0_0_1",
"rzb_dcs:lt_1_0_0_2",
"rzb_dcs:lt_1_1_0_0",
"rzb_dcs:lt_1_1_0_2",
"rzb_dcs:lt_1_2_0_0",
"rzb_dcs:lt_1_2_0_1",
"rzb_dcs:lt_1_2_0_2",
"rzb_dcs:sp30",
"rzb_dcs:sp31_tl_black",
"rzb_dcs:sp31_tl_cherry",
"rzb_dcs:sp31_tl_ebony",
"rzb_dcs:sp31_tl_oak",
"rzb_dcs:sp31_tl_palm",
"rzb_dcs:sp31_tl_spruce",
"rzb_dcs:sp31_tl_white",
"rzb_dcs:sp31_tr_black",
"rzb_dcs:sp31_tr_cherry",
"rzb_dcs:sp31_tr_ebony",
"rzb_dcs:sp31_tr_oak",
"rzb_dcs:sp31_tr_palm",
"rzb_dcs:sp31_tr_spruce",
"rzb_dcs:sp31_tr_white",
"rzb_dcs:sp32_t_1",
"rzb_dcs:sp32_t_2",
"rzb_dcs:sp32_t_3",
"rzb_dcs:sp32_t_4",
"rzb_dcs:sp32_t_5",
"rzb_dcs:sp32_t_6",
"rzb_dcs:sp32_t_7",
"rzb_dcs:sp32_t_8",
"rzb_dcs:sp33",
"rzb_dcs:su03_0_0_2",
"rzb_dcs:um_0_2_3_green",
"rzb_dcs:um_0_2_3_yellow",
"rzb_dcs:um_1_2_1_green",
"rzb_dcs:um_1_2_1_yellow",
"rzb_dcs:um_1_2_5_green",
"rzb_dcs:um_1_2_5_yellow",
"rzb_dcs:um_3_2_0_green",
"rzb_dcs:um_3_2_0_yellow",
"rzb_dcs:um_3_2_6_green",
"rzb_dcs:um_3_2_6_yellow",
"rzb_dcs:um_5_2_1_green",
"rzb_dcs:um_5_2_1_yellow",
"rzb_dcs:um_5_2_5_green",
"rzb_dcs:um_5_2_5_yellow",
"rzb_dcs:um_6_2_3_green",
"rzb_dcs:um_6_2_3_yellow"
]);
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
// core/events.js; central place/break dispatch.
import { world } from "./mc.js";
const placeHandlers = [];
const breakHandlers = [];
export function onPlace(fn) { placeHandlers.push(fn); }
export function onBreak(fn) { breakHandlers.push(fn); }
world.afterEvents.playerPlaceBlock?.subscribe((ev) => { for (const fn of placeHandlers) { try { fn(ev); } catch {} } });
world.afterEvents.playerBreakBlock?.subscribe((ev) => { for (const fn of breakHandlers) { try { fn(ev); } catch {} } });
+52
View File
@@ -0,0 +1,52 @@
// core/fx.js; placement undo, break particles, display summon, brush feedback, debounce.
import { system, ItemStack, isCreative } from "./mc.js";
export function undoPlace(anchor, player, itemId, name) {
try { anchor.setType("minecraft:air"); } catch {}
try { if (!isCreative(player)) { const inv = player.getComponent("minecraft:inventory")?.container; if (inv) inv.addItem(new ItemStack(itemId, 1)); } } catch {}
try { player.onScreenDisplay.setActionBar("§cNot enough room for the " + name); } catch {}
try { player.playSound("note.didgeridoo", { volume: 0.85 }); } catch {} // DecoCraft's placement-rejected cue
}
export function breakFx(dim, x, y, z) { try { dim.spawnParticle("rzb_dcs:breakdeco", { x, y, z }); } catch {} }
export function breakAir(nb) { if (!nb) return; const d = nb.dimension, x = nb.x, y = nb.y, z = nb.z; try { nb.setType("minecraft:air"); } catch {} breakFx(d, x + 0.5, y + 0.5, z + 0.5); }
export function summonDisplay(dim, entityId, x, y, z, yaw) {
try { dim.runCommand(`summon ${entityId} ${x} ${y} ${z} ${yaw} 0`); } catch {}
}
export function debounced(store, key, ticks) {
if (store.has(key)) return true;
store.add(key); system.runTimeout(() => store.delete(key), ticks);
return false;
}
const _toggleRecent = new Set();
export function toggleDebounced(x, y, z) {
return debounced(_toggleRecent, Math.floor(x) + "," + Math.floor(y) + "," + Math.floor(z), 12);
}
const P_ALIAS = { rosegold: "pink", silver: "lightgray", gold: "yellow", berry: "magenta", clovers: "green", tulips: "lime", flowers1: "pink", flowers2: "purple", spring: "lime", plain: "white", cherry: "brown", ebony: "brown", oak: "brown", palm: "brown", spruce: "brown" };
const P_COLORS = ["lightblue", "lightgray", "black", "blue", "brown", "cyan", "gray", "green", "lime", "magenta", "orange", "pink", "purple", "red", "white", "yellow"];
export const BRUSH_ALIAS = {
"rzb_dcs:su36_horchata": "white", "rzb_dcs:su36_jamaica": "red", "rzb_dcs:su36_tamarind": "brown", "rzb_dcs:su36_lemonade": "yellow",
"rzb_dcs:su36_lemonade_pink": "pink", "rzb_dcs:su36_limeade": "lime", "rzb_dcs:su36_orangeade": "orange",
"rzb_dcs:sp35_robin": "red", "rzb_dcs:sp35_blue_j": "blue",
"rzb_dcs:su01_1": "yellow", "rzb_dcs:su01_2": "lightblue", "rzb_dcs:su01_3": "pink", "rzb_dcs:su01_4": "lime",
"rzb_dcs:su01_5": "orange", "rzb_dcs:su01_6": "blue", "rzb_dcs:su01_7": "red", "rzb_dcs:su01_rainbow": "magenta",
};
export function particleFor(blockId) {
const key = ("" + blockId).replace(/_e$/, "");
if (BRUSH_ALIAS[key]) return BRUSH_ALIAS[key];
const v = key.replace(/^rzb_dcs:sp\d+_?/, "").replace(/^p_/, "");
for (const k in P_ALIAS) if (v.includes(k)) return P_ALIAS[k];
for (const c of P_COLORS) if (v.includes(c)) return c;
return "white";
}
export function brushFx(dim, loc, pcol, player) {
try { player?.playAnimation("animation.rzb_dcs.player.interact"); } catch {}
try { dim.playSound("sign.ink_sac.use", loc, { volume: 0.8 }); } catch {}
try { dim.runCommand(`particle rzb_dcs:decobrush_${pcol} ${loc.x + 0.5} ${loc.y + 0.6} ${loc.z + 0.5}`); } catch {}
}
+71
View File
@@ -0,0 +1,71 @@
// core/grid.js; the ONE rotation convention + facing tables + ground/water probes.
import { safeGetBlock } from "./mc.js";
export const RIGHT = { south: [1, 0, 0], north: [-1, 0, 0], east: [0, 0, -1], west: [0, 0, 1] };
export const FWD = { south: [0, 0, 1], north: [0, 0, -1], east: [1, 0, 0], west: [-1, 0, 0] };
// world position of a south-frame offset g given the anchor + facing. rotating=false -> raw offset (symmetric canopies um/bu/bt).
export function cellWorld(g, ax, ay, az, dir, rotating = true) {
if (!rotating) return { x: ax + g[0], y: ay + g[1], z: az + g[2] };
const R = RIGHT[dir] || RIGHT.south, F = FWD[dir] || FWD.south;
return { x: ax + g[0] * R[0] + g[2] * F[0], y: ay + g[1], z: az + g[0] * R[2] + g[2] * F[2] };
}
// inverse of cellWorld: back compute the anchor from a cell's world position + facing.
export function anchorFrom(g, x, y, z, dir, rotating = true) {
if (!rotating) return { x: x - g[0], y: y - g[1], z: z - g[2] };
const R = RIGHT[dir] || RIGHT.south, F = FWD[dir] || FWD.south;
return { x: x - g[0] * R[0] - g[2] * F[0], y: y - g[1], z: z - g[0] * R[2] - g[2] * F[2] };
}
// Bundle a cell map into ready-to-use cellWorld/anchorFrom closures (used by every multiblock family).
export function grid(cells, rotating = true) {
return {
cells,
cellWorld: (cell, ax, ay, az, dir) => cellWorld(cells[cell], ax, ay, az, dir, rotating),
anchorFrom: (cell, x, y, z, dir) => anchorFrom(cells[cell], x, y, z, dir, rotating),
};
}
// Facing / yaw tables
export const DIR_YAW = { north: 0, south: 180, east: 90, west: 270 }; // seat: player faces OUT of the seat
export const DIR_TROT = { south: 0, north: 180, east: 90, west: -90 }; // seat: block geometry transformation angle
export const DISPLAY_DIR_YAW = { north: 0, east: 90, south: 180, west: -90 }; // DecoCraft display-entity summon yaw
export const TUBE_DIR_YAW = { south: 0, west: 90, north: 180, east: -90 }; // rideable block-facing -> entity body yaw
export const displayYawToDir = (yaw) => { const y = ((yaw % 360) + 360) % 360; if (y < 45 || y >= 315) return "north"; if (y < 135) return "east"; if (y < 225) return "south"; return "west"; };
export const tubeYawToDir = (yaw) => { const y = ((yaw % 360) + 360) % 360; if (y < 45 || y >= 315) return "south"; if (y < 135) return "west"; if (y < 225) return "north"; return "east"; };
export function fcCanReplace(nb) {
if (!nb) return false;
if (nb.isAir) return true;
const t = nb.typeId || "";
if (/grass_block|dirt|podzol|mycelium|mud|farmland|clay|gravel|sand|stone|terracotta|concrete|planks|log|wool/.test(t)) return false;
return /short_grass|tall_grass|tallgrass|fern|flower|sapling|snow_layer|dead_bush|azalea|deadbush|seagrass|\bvine|leaf_litter/.test(t);
}
export function tubeWaterTop(dim, x, z, nearY) {
const isW = (b) => { try { return b.typeId.endsWith("water"); } catch { return false; } };
for (let y = Math.floor(nearY) + 3; y >= Math.floor(nearY) - 6; y--) { const b = safeGetBlock(dim, { x, y, z }); if (isW(b)) return y; }
return null;
}
export function tubeOverWater(block) {
try { if (block.isWaterlogged) return true; } catch {}
const dim = block.dimension;
for (const [dx, dy, dz] of [[0, -1, 0], [1, 0, 0], [-1, 0, 0], [0, 0, 1], [0, 0, -1]]) {
const b = safeGetBlock(dim, { x: block.x + dx, y: block.y + dy, z: block.z + dz });
try { if (b && (b.typeId.endsWith("water") || b.isWaterlogged)) return true; } catch {}
}
return false;
}
export function loungerSupportY(dim, x, z, fromY, noFloat, float = 0) {
for (let y = Math.floor(fromY) + 1; y >= Math.floor(fromY) - 48; y--) {
const b = safeGetBlock(dim, { x, y, z });
if (!b) continue;
const id = b.typeId || "";
if (id.endsWith("water")) { if (noFloat) continue; return y + 1 + float; }
let air = id === "minecraft:air"; try { air = b.isAir; } catch {}
if (!air && !/water|lava/.test(id)) return y + 1;
}
return null;
}
+4
View File
@@ -0,0 +1,4 @@
export { world, system, BlockPermutation, ItemStack, InputButton, ButtonState } from "@minecraft/server";
export function isCreative(player) { try { return ("" + player.getGameMode()).toLowerCase().includes("creative"); } catch { return false; } }
export function getDir(perm) { try { return perm.getState("minecraft:cardinal_direction") ?? "south"; } catch { return "south"; } }
export function safeGetBlock(dim, pos) { try { return dim.getBlock(pos); } catch { return undefined; } }
+61
View File
@@ -0,0 +1,61 @@
// core/multiblock.js; defineGridMultiblock(): the shared place/break machinery.
import { BlockPermutation, getDir, safeGetBlock } from "./mc.js";
import { grid, fcCanReplace } from "./grid.js";
import { undoPlace, breakAir } from "./fx.js";
import { onPlace, onBreak } from "./events.js";
// cfg:
// prefix block-id prefix, e.g. "rzb_dcs:fc_" (color canopies: "rzb_dcs:um_")
// anchorKey the catalog/menu cell, e.g. "3_0_0"
// cells { cellKey: [dx,dy,dz] } south-frame offsets
// name human label for the "not enough room" undo message
// rotating=true grid rotates with facing (false = symmetric canopy: raw offsets, placed with no facing state)
// color=false ids carry a trailing "_<color>" (um/bu/bt); parse splits it off
// canReplace predicate for a cell being buildable (default fcCanReplace; lg passes air|water)
// undefinedBlocks unreadable cell (chunk edge/ceiling) blocks placement (at/tent/lg); default: it's allowed
// actionBar optional (placed,total,dir) => string shown after a successful build (fc/ic)
// returns { prefix, anchorKey, cells, color, rotating, parse, cellOf, cellWorld, anchorFrom, idFor }.
export function defineGridMultiblock(cfg) {
const { prefix, anchorKey, cells, name, rotating = true, color = false, canReplace = fcCanReplace, undefinedBlocks = false, actionBar = null } = cfg;
const g = grid(cells, rotating);
const total = Object.keys(cells).length - 1;
const parse = color
? (id) => { if (!id || !id.startsWith(prefix)) return null; const m = id.slice(prefix.length).match(/^(\d+_\d+_\d+)_(.+)$/); return (m && cells[m[1]]) ? { cell: m[1], color: m[2] } : null; }
: (id) => { if (!id || !id.startsWith(prefix)) return null; const c = id.slice(prefix.length); return cells[c] ? c : null; };
const cellOf = color ? (id) => parse(id)?.cell ?? null : parse;
const idFor = (cell, col) => color ? prefix + cell + "_" + col : prefix + cell;
onPlace((ev) => {
const b = ev.block, pr = parse(b.typeId);
if (color ? !(pr && pr.cell === anchorKey) : pr !== anchorKey) return;
const dir = rotating ? getDir(b.permutation) : "south", col = color ? pr.color : null;
for (const c in cells) { // validate every non-anchor cell first -> undo if any is blocked (never half-place)
if (c === anchorKey) continue;
const nb = safeGetBlock(b.dimension, g.cellWorld(c, b.x, b.y, b.z, dir));
const blocked = undefinedBlocks ? !canReplace(nb) : (nb !== undefined && !canReplace(nb));
if (blocked) { undoPlace(b, ev.player, idFor(anchorKey, col), name); return; }
}
let placed = 0;
for (const c in cells) {
if (c === anchorKey) continue;
const nb = b.dimension.getBlock(g.cellWorld(c, b.x, b.y, b.z, dir));
if (canReplace(nb)) { try { nb.setPermutation(BlockPermutation.resolve(idFor(c, col), rotating ? { "minecraft:cardinal_direction": dir } : {})); placed++; } catch {} }
}
if (actionBar) { try { ev.player.onScreenDisplay.setActionBar(actionBar(placed, total, dir)); } catch {} }
});
onBreak((ev) => {
const cell = cellOf(ev.brokenBlockPermutation?.type?.id || "");
if (!cell) return;
const dir = rotating ? getDir(ev.brokenBlockPermutation) : "south";
const b = ev.block, a = g.anchorFrom(cell, b.x, b.y, b.z, dir);
for (const c in cells) {
if (c === cell) continue;
const nb = safeGetBlock(b.dimension, g.cellWorld(c, a.x, a.y, a.z, dir));
if (nb && cellOf(nb.typeId) === c) { try { breakAir(nb); } catch {} }
}
});
return { prefix, anchorKey, cells, color, rotating, parse, cellOf, cellWorld: g.cellWorld, anchorFrom: g.anchorFrom, idFor };
}
+3
View File
@@ -0,0 +1,3 @@
// core/variants.js; the color-brush variant registry.
export const VARIANT_SEQ = {};
export function registerVariants(ids) { for (const id of ids) VARIANT_SEQ[id] = ids; }