update bme struct
@ -120,6 +120,7 @@ _g_ProgFieldGlobals: dict[str, typing.Any] = {
|
|||||||
# my custom matrix functions
|
# my custom matrix functions
|
||||||
'move': lambda x, y, z: mathutils.Matrix.Translation((x, y, z)),
|
'move': lambda x, y, z: mathutils.Matrix.Translation((x, y, z)),
|
||||||
'rot': lambda x, y, z: mathutils.Matrix.LocRotScale(None, mathutils.Euler((math.radians(x), math.radians(y), math.radians(z)), 'XYZ'), None),
|
'rot': lambda x, y, z: mathutils.Matrix.LocRotScale(None, mathutils.Euler((math.radians(x), math.radians(y), math.radians(z)), 'XYZ'), None),
|
||||||
|
'scale': lambda x, y, z: mathutils.Matrix.LocRotScale(None, None, (x, y, z)),
|
||||||
'ident': lambda: mathutils.Matrix.Identity(4),
|
'ident': lambda: mathutils.Matrix.Identity(4),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
bbp_ng/raw_icons/bme/NarrowTransition.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
506
bbp_ng/raw_jsons/crossings.json
Normal file
@ -0,0 +1,506 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_l_crossing",
|
||||||
|
"showcase": null,
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "(True, False, True, False, True, False)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "is_sink",
|
||||||
|
"data": "False"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], face[2], False, face[4], False)",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "False",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_border",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"length": "2.5",
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[3], face[4], False)",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 0, 0)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_border",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"length": "2.5",
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], face[5], False, face[2], False)",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[3], False, face[5])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_t_crossing",
|
||||||
|
"showcase": null,
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "(True, False, True, False, False, False)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "is_sink",
|
||||||
|
"data": "False"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_border",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"length": "5",
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], face[5], face[4], face[2], False)",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[4], False, face[3])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0) @ rot(0, 0, -90)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[3], False, face[5])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_x_crossing",
|
||||||
|
"showcase": null,
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "(True, False, False, False, False, False)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "is_sink",
|
||||||
|
"data": "False"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[5], False, face[2])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0) @ rot(0, 0, -270)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[2], False, face[4])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0) @ rot(0, 0, -180)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[4], False, face[3])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0) @ rot(0, 0, -90)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_corner",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "(face[0], face[1], False, face[3], False, face[5])",
|
||||||
|
"is_sink": "is_sink",
|
||||||
|
"is_inner": "True",
|
||||||
|
"is_ribbon": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 2.5, 0)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_normal_l_crossing",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Normal L Crossing",
|
||||||
|
"icon": "NormalLCrossing",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, True, False, True, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_l_crossing",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "face",
|
||||||
|
"is_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_sink_l_crossing",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Sink L Crossing",
|
||||||
|
"icon": "SinkLCrossing",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, True, False, True, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_l_crossing",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "face",
|
||||||
|
"is_sink": "True"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_normal_t_crossing",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Normal T Crossing",
|
||||||
|
"icon": "NormalTCrossing",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, True, False, False, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_t_crossing",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "face",
|
||||||
|
"is_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_sink_t_crossing",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Sink T Crossing",
|
||||||
|
"icon": "SinkTCrossing",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, True, False, False, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_t_crossing",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "face",
|
||||||
|
"is_sink": "True"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_normal_x_crossing",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Normal X Crossing",
|
||||||
|
"icon": "NormalXCrossing",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, False, False, False, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_x_crossing",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "face",
|
||||||
|
"is_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_sink_x_crossing",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Sink X Crossing",
|
||||||
|
"icon": "SinkXCrossing",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, False, False, False, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_x_crossing",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face": "face",
|
||||||
|
"is_sink": "True"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
@ -101,7 +101,7 @@
|
|||||||
"uvs": [
|
"uvs": [
|
||||||
"(0, 0)",
|
"(0, 0)",
|
||||||
"(1 - uv_left_sink, 0)",
|
"(1 - uv_left_sink, 0)",
|
||||||
"(1 - uv_left_sink, uv_length)",
|
"(1 - uv_right_sink, uv_length)",
|
||||||
"(0, uv_length)"
|
"(0, uv_length)"
|
||||||
],
|
],
|
||||||
"normals": null
|
"normals": null
|
||||||
|
270
bbp_ng/raw_jsons/transitions.json
Normal file
@ -0,0 +1,270 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_transition_part",
|
||||||
|
"showcase": null,
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_part",
|
||||||
|
"data": "(True, False, False)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"data": "(0, 0, 0)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"data": "(5, 0, 0)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"data": "(0, 2.5, -0.7)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"data": "(5, 5, 0)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"data": "(0, 5, 0)"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"faces": [
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"texture": "\"FloorTopProfilFlat\"",
|
||||||
|
"indices": [0, 1, 2],
|
||||||
|
"uvs": [
|
||||||
|
"(0, 1)",
|
||||||
|
"(0, 0)",
|
||||||
|
"(0.5, 1)"
|
||||||
|
],
|
||||||
|
"normals": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"texture": "\"FloorTopProfilFlat\"",
|
||||||
|
"indices": [3, 2, 1],
|
||||||
|
"uvs": [
|
||||||
|
"(1, 0)",
|
||||||
|
"(0.5, 1)",
|
||||||
|
"(0, 0)"
|
||||||
|
],
|
||||||
|
"normals": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"skip": "not face_part[0]",
|
||||||
|
"texture": "\"FloorTopProfilFlat\"",
|
||||||
|
"indices": [2, 3, 4],
|
||||||
|
"uvs": [
|
||||||
|
"(0.5, 1)",
|
||||||
|
"(1, 0)",
|
||||||
|
"(1, 1)"
|
||||||
|
],
|
||||||
|
"normals": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face_part[1]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "2.5",
|
||||||
|
"is_left_sink": "False",
|
||||||
|
"is_right_sink": "True"
|
||||||
|
},
|
||||||
|
"transform": "move(0, 5, 0) @ rot(0, 0, -90)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face_part[1]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "2.5",
|
||||||
|
"is_left_sink": "True",
|
||||||
|
"is_right_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(0, 2.5, 0) @ rot(0, 0, -90)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face_part[2]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "5",
|
||||||
|
"is_left_sink": "False",
|
||||||
|
"is_right_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(5, 0, 0) @ rot(0, 0, 90)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_transition",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Transition",
|
||||||
|
"icon": "Transition",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, False, False, True, True)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_transition_part",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face_part": "(face[0], face[2], face[3])"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face[4]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "5",
|
||||||
|
"is_left_sink": "False",
|
||||||
|
"is_right_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face[5]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "5",
|
||||||
|
"is_left_sink": "False",
|
||||||
|
"is_right_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(5, 5, 0) @ rot(0, 0, 180)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_bottom",
|
||||||
|
"skip": "not face[1]",
|
||||||
|
"params": {
|
||||||
|
"length": "5",
|
||||||
|
"width": "5"
|
||||||
|
},
|
||||||
|
"transform": "move(0, 0, -height)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_narrow_transition",
|
||||||
|
"showcase": {
|
||||||
|
"title": "Narrow Transition",
|
||||||
|
"icon": "NarrowTransition",
|
||||||
|
"type": "floor",
|
||||||
|
"cfgs": [
|
||||||
|
{
|
||||||
|
"field": "height_",
|
||||||
|
"type": "float",
|
||||||
|
"title": "Height",
|
||||||
|
"desc": "The height of block.",
|
||||||
|
"default": "5.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face_",
|
||||||
|
"type": "face",
|
||||||
|
"title": "Face",
|
||||||
|
"desc": "Whether has some faces.",
|
||||||
|
"default": "(True, False, False, False, False, False)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"params": [
|
||||||
|
{
|
||||||
|
"field": "height",
|
||||||
|
"data": "height_"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"field": "face",
|
||||||
|
"data": "face_"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"skip": "False",
|
||||||
|
"vars": [],
|
||||||
|
"vertices": [],
|
||||||
|
"faces": [],
|
||||||
|
"instances": [
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_transition_part",
|
||||||
|
"skip": "False",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"face_part": "(face[0], face[2], face[3])"
|
||||||
|
},
|
||||||
|
"transform": "scale(0.5, 1, 1)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face[4]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "2.5",
|
||||||
|
"is_left_sink": "False",
|
||||||
|
"is_right_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "ident()"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "raw_floor_side",
|
||||||
|
"skip": "not face[5]",
|
||||||
|
"params": {
|
||||||
|
"height": "height",
|
||||||
|
"length": "2.5",
|
||||||
|
"is_left_sink": "False",
|
||||||
|
"is_right_sink": "False"
|
||||||
|
},
|
||||||
|
"transform": "move(2.5, 5, 0) @ rot(0, 0, 180)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identifier": "floor_bottom",
|
||||||
|
"skip": "not face[1]",
|
||||||
|
"params": {
|
||||||
|
"length": "2.5",
|
||||||
|
"width": "5"
|
||||||
|
},
|
||||||
|
"transform": "move(0, 0, -height)"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|