diff --git a/.gitattributes b/.gitattributes index 66413ee..00f1252 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,5 +4,4 @@ *.bin binary # json is data and not good for human reading(althought I edit it on my own hand.) # so set it as binary -bbp_ng/json/basic_blocks/*.json binary -bbp_ng/json/derived_blocks/*.json binary \ No newline at end of file +bbp_ng/json/*.json binary \ No newline at end of file diff --git a/bbp_ng/OP_ADDS_component.py b/bbp_ng/OP_ADDS_component.py index bad0a67..c39fba3 100644 --- a/bbp_ng/OP_ADDS_component.py +++ b/bbp_ng/OP_ADDS_component.py @@ -134,7 +134,7 @@ class EnumPropHelper(): str(item.value), item.name, "", - UTIL_icons_manager.get_element_icon(PROP_ballance_element.get_ballance_element_name(item)), + UTIL_icons_manager.get_component_icon(PROP_ballance_element.get_ballance_element_name(item)), item.value ) for item in PROP_ballance_element.BallanceElementType ) @@ -203,7 +203,7 @@ class BBP_OT_add_component(bpy.types.Operator, ComponentSectorParam): cop = layout.operator( self.bl_idname, text = item_name, - icon_value = UTIL_icons_manager.get_element_icon(item_name) + icon_value = UTIL_icons_manager.get_component_icon(item_name) ) cop.component_type = EnumPropHelper.to_selection(item) @@ -239,7 +239,7 @@ class BBP_OT_add_nong_extra_point(bpy.types.Operator, ComponentSectorParam, Comp def draw_blc_menu(self, layout: bpy.types.UILayout): layout.operator( BBP_OT_add_nong_extra_point.bl_idname, - icon_value = UTIL_icons_manager.get_element_icon( + icon_value = UTIL_icons_manager.get_component_icon( PROP_ballance_element.get_ballance_element_name(PROP_ballance_element.BallanceElementType.P_Extra_Point) ) ) @@ -286,7 +286,7 @@ class BBP_OT_add_tilting_block_series(bpy.types.Operator, ComponentSectorParam, def draw_blc_menu(self, layout: bpy.types.UILayout): layout.operator( BBP_OT_add_tilting_block_series.bl_idname, - icon_value = UTIL_icons_manager.get_element_icon( + icon_value = UTIL_icons_manager.get_component_icon( PROP_ballance_element.get_ballance_element_name(PROP_ballance_element.BallanceElementType.P_Modul_41) ) ) @@ -330,7 +330,7 @@ class BBP_OT_add_ventilator_series(bpy.types.Operator, ComponentSectorParam, Com def draw_blc_menu(self, layout: bpy.types.UILayout): layout.operator( BBP_OT_add_ventilator_series.bl_idname, - icon_value = UTIL_icons_manager.get_element_icon( + icon_value = UTIL_icons_manager.get_component_icon( PROP_ballance_element.get_ballance_element_name(PROP_ballance_element.BallanceElementType.P_Modul_18) ) ) @@ -411,7 +411,7 @@ class BBP_OT_add_sector_component_pair(bpy.types.Operator, ComponentSectorParam) def draw_blc_menu(self, layout: bpy.types.UILayout): layout.operator( BBP_OT_add_sector_component_pair.bl_idname, - icon_value = UTIL_icons_manager.get_element_icon( + icon_value = UTIL_icons_manager.get_component_icon( PROP_ballance_element.get_ballance_element_name(PROP_ballance_element.BallanceElementType.PR_Resetpoint) ) ) diff --git a/bbp_ng/PROP_bme_material.py b/bbp_ng/PROP_bme_material.py new file mode 100644 index 0000000..5f2cc7d --- /dev/null +++ b/bbp_ng/PROP_bme_material.py @@ -0,0 +1,299 @@ +import bpy +import typing, enum +from . import PROP_virtools_material, PROP_virtools_texture +from . import UTIL_ballance_texture, UTIL_functions + +#region BME Material Presets + +class _BMEMaterialPreset(): + ## Associated Ballance texture file name, including file extension. + mTexName: str + ## Predefined mtl preset in virtools material module + mRawMtl: PROP_virtools_material.RawVirtoolsMaterial + + def __init__(self, texname: str, rawmtl: PROP_virtools_material.RawVirtoolsMaterial): + self.mTexName = texname + self.mRawMtl = rawmtl + +_g_BMEMaterialPresets: dict[str, _BMEMaterialPreset] = { + 'FloorSide': _BMEMaterialPreset( + 'Floor_Side.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorSide).mData + ), + 'LightingFloorTopBorder': _BMEMaterialPreset( + 'Floor_Top_Border.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorSide).mData + ), + 'LightingFloorTopBorderless': _BMEMaterialPreset( + 'Floor_Top_Borderless.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorSide).mData + ), + + 'FloorTopBorder': _BMEMaterialPreset( + 'Floor_Top_Border.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorTop).mData + ), + 'FloorTopBorderless': _BMEMaterialPreset( + 'Floor_Top_Borderless.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorTop).mData + ), + 'FloorTopFlat': _BMEMaterialPreset( + 'Floor_Top_Flat.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorTop).mData + ), + 'FloorTopProfil': _BMEMaterialPreset( + 'Floor_Top_Profil.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorTop).mData + ), + 'FloorTopProfilFlat': _BMEMaterialPreset( + 'Floor_Top_ProfilFlat.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.FloorTop).mData + ), + + 'BallPaper': _BMEMaterialPreset( + 'Ball_Paper.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.TrafoPaper).mData + ), + + 'BallStone': _BMEMaterialPreset( + 'Ball_Stone.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.TraforWoodStone).mData + ), + 'BallWood': _BMEMaterialPreset( + 'Ball_Wood.bmp', + PROP_virtools_material.get_virtools_material_preset(PROP_virtools_material.MaterialPresetType.TraforWoodStone).mData + ), +} + +#endregion + +#region BME Material Define & Visitor + +class BBP_PG_bme_material(bpy.types.PropertyGroup): + bme_material_name: bpy.props.StringProperty( + name = "Name", + default = "" + ) + + material_ptr: bpy.props.PointerProperty( + name = "Material", + type = bpy.types.Material + ) + +def get_bme_materials(scene: bpy.types.Scene) -> bpy.types.CollectionProperty: + return scene.bme_materials + +#endregion + +#region Material Preset Loader + +def _load_bme_material_preset(mtl: bpy.types.Material, preset_name: str) -> None: + # get preset first + preset: _BMEMaterialPreset = _g_BMEMaterialPresets[preset_name] + + # apply raw data first + PROP_virtools_material.set_raw_virtools_material(mtl, preset.mRawMtl) + + # load ballance texture + blctex: bpy.types.Image = UTIL_ballance_texture.load_ballance_texture(preset.mTexName) + # apply texture props + PROP_virtools_texture.set_raw_virtools_texture(blctex, PROP_virtools_texture.get_ballance_texture_preset(preset.mTexName)) + + # because preset's rawmtl is const, we can not change it directly + # so we need change its texture by triving it again as a new rawmtl + # after we got ballance texture + newrawmtl: PROP_virtools_material.RawVirtoolsMaterial = PROP_virtools_material.get_raw_virtools_material(mtl) + newrawmtl.mTexture = blctex + PROP_virtools_material.set_raw_virtools_material(mtl, newrawmtl) + +#endregion + +#region BME Material Operation Help Class & Functions + +class BMEMaterialsHelper(): + """ + The helper of BME materials processing. + + All BME materials operations, including getting or setting, must be manipulated by this class. + You should NOT operate BME Materials property (in Scene) directly. + + This class should only have 1 instance at the same time. This class support `with` syntax to achieve this. + This class frequently used in creating BME meshes. + """ + __mSingletonMutex: typing.ClassVar[bool] = False + __mIsValid: bool + __mAssocScene: bpy.types.Scene + __mMaterialMap: dict[str, bpy.types.Material] + + def __init__(self, assoc: bpy.types.Scene): + self.__mMaterialMap = {} + self.__mAssocScene = assoc + + # check singleton + if BMEMaterialsHelper.__mSingletonMutex: + self.__mIsValid = False + raise UTIL_functions.BBPException('BMEMaterialsHelper is mutex.') + + # set validation and read ballance elements property + BMEMaterialsHelper.__mSingletonMutex = True + self.__mIsValid = True + self.__read_from_bme_materials() + + def is_valid(self) -> bool: + return self.__mIsValid + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.dispose() + + def dispose(self) -> None: + if self.is_valid(): + # write to ballance elements property and reset validation + self.__write_to_bme_materials() + self.__mIsValid = False + BMEMaterialsHelper.__mSingletonMutex = False + + def get_material(self, preset_name: str) -> bpy.types.Material: + if not self.is_valid(): + raise UTIL_functions.BBPException('calling invalid BMEMaterialsHelper') + + # get exist one + mtl: bpy.types.Material | None = self.__mMaterialMap.get(preset_name, None) + if mtl is not None: + return mtl + + # if no existing one, create new one + new_mtl_name: str = 'BME' + preset_name + new_mtl: bpy.types.Material = bpy.data.materials.new(new_mtl_name) + + _load_bme_material_preset(new_mtl, preset_name) + self.__mMaterialMap[preset_name] = new_mtl + return new_mtl + + def __write_to_bme_materials(self) -> None: + mtls: bpy.types.CollectionProperty = get_bme_materials(self.__mAssocScene) + mtls.clear() + + for preset_name, mtl in self.__mMaterialMap.items(): + item: BBP_PG_bme_material = mtls.add() + item.bme_material_name = preset_name + item.material_ptr = mtl + + def __read_from_bme_materials(self) -> None: + mtls: bpy.types.CollectionProperty = get_bme_materials(self.__mAssocScene) + self.__mMaterialMap.clear() + + item: BBP_PG_bme_material + for item in mtls: + # check requirements + if item.material_ptr is None: continue + # add into map + self.__mMaterialMap[item.bme_material_name] = item.material_ptr + +def reset_bme_materials(scene: bpy.types.Scene) -> None: + invalid_idx: list[int] = [] + mtls: bpy.types.CollectionProperty = get_bme_materials(scene) + + # re-load all elements + index: int = 0 + item: BBP_PG_bme_material + for item in mtls: + # load or record invalid entry + if item.material_ptr is None: + invalid_idx.append(index) + else: + _load_bme_material_preset(item.material_ptr, item.bme_material_name) + + # inc counter + index += 1 + + # remove invalid one with reversed order + invalid_idx.reverse() + for idx in invalid_idx: + mtls.remove(idx) + +#endregion + +#region BME Materials Representation + +class BBP_UL_bme_materials(bpy.types.UIList): + def draw_item(self, context, layout: bpy.types.UILayout, data, item: BBP_PG_bme_material, icon, active_data, active_propname): + # check requirements + if item.material_ptr is None: return + # draw list item + layout.label(text = item.bme_material_name, translate = False) + layout.label(text = item.material_ptr.name, translate = False, icon = 'MATERIAL') + +class BBP_OT_reset_bme_materials(bpy.types.Operator): + """Reset all BME Materials to Default Settings.""" + bl_idname = "bbp.reset_bme_materials" + bl_label = "Reset BME Materials" + bl_options = {'UNDO'} + + @classmethod + def poll(cls, context): + return context.scene is not None + + def execute(self, context): + reset_bme_materials(context.scene) + return {'FINISHED'} + +class BBP_PT_bme_materials(bpy.types.Panel): + """Show BME Materials Properties.""" + bl_label = "BME Materials" + bl_idname = "BBP_PT_bme_materials" + bl_space_type = 'PROPERTIES' + bl_region_type = 'WINDOW' + bl_context = "scene" + + @classmethod + def poll(cls, context): + return context.scene is not None + + def draw(self, context): + layout: bpy.types.UILayout = self.layout + target: bpy.types.Scene = context.scene + col = layout.column() + + # show restore operator + opercol = col.column() + opercol.operator(BBP_OT_reset_bme_materials.bl_idname, icon='LOOP_BACK') + + # show list but not allowed to edit + listcol = col.column() + listcol.enabled = False + listcol.template_list( + "BBP_UL_bme_materials", "", + target, "bme_materials", + target, "active_bme_materials", + # default row height is a half of the count of all presets + # limit the max row height to the the count of all presets + rows = len(_g_BMEMaterialPresets) // 2, + maxrows = len(_g_BMEMaterialPresets), + ) + +#endregion + +def register(): + # register all classes + bpy.utils.register_class(BBP_PG_bme_material) + bpy.utils.register_class(BBP_UL_bme_materials) + bpy.utils.register_class(BBP_OT_reset_bme_materials) + bpy.utils.register_class(BBP_PT_bme_materials) + + # add into scene metadata + bpy.types.Scene.bme_materials = bpy.props.CollectionProperty(type = BBP_PG_bme_material) + bpy.types.Scene.active_bme_materials = bpy.props.IntProperty() + +def unregister(): + # del from scene metadata + del bpy.types.Scene.active_bme_materials + del bpy.types.Scene.bme_materials + + bpy.utils.unregister_class(BBP_PT_bme_materials) + bpy.utils.unregister_class(BBP_OT_reset_bme_materials) + bpy.utils.unregister_class(BBP_UL_bme_materials) + bpy.utils.unregister_class(BBP_PG_bme_material) + diff --git a/bbp_ng/PROP_virtools_group.py b/bbp_ng/PROP_virtools_group.py index a3e6370..876d504 100644 --- a/bbp_ng/PROP_virtools_group.py +++ b/bbp_ng/PROP_virtools_group.py @@ -234,8 +234,8 @@ def _get_group_icon_by_name(gp_name: str) -> int: value: int | None = UTIL_icons_manager.get_group_icon(gp_name) if value is not None: return value - # if failed, get from element. if still failed, return empty icon - value = UTIL_icons_manager.get_element_icon(gp_name) + # if failed, get from component. if still failed, return empty icon + value = UTIL_icons_manager.get_component_icon(gp_name) if value is not None: return value else: return UTIL_icons_manager.get_empty_icon() diff --git a/bbp_ng/PROP_virtools_material.py b/bbp_ng/PROP_virtools_material.py index 2a881bb..6cd1530 100644 --- a/bbp_ng/PROP_virtools_material.py +++ b/bbp_ng/PROP_virtools_material.py @@ -456,8 +456,8 @@ class MaterialPresetData(): self.mDisplayName = display_name self.mData = data -g_MaterialPresets: dict[int, MaterialPresetData] = { - MaterialPresetType.FloorSide.value: MaterialPresetData( +_g_MaterialPresets: dict[int, MaterialPresetData] = { + MaterialPresetType.FloorSide: MaterialPresetData( "Floor Side", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(0.0, 0.0, 0.0), @@ -467,7 +467,7 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { mSpecularPower = 0.0 ) ), - MaterialPresetType.FloorTop.value: MaterialPresetData( + MaterialPresetType.FloorTop: MaterialPresetData( "Floor Top", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(0.0, 0.0, 0.0), @@ -477,7 +477,7 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { mSpecularPower = 100.0 ) ), - MaterialPresetType.TrafoPaper.value: MaterialPresetData( + MaterialPresetType.TrafoPaper: MaterialPresetData( "Transform Paper", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(25 / 255.0, 25 / 255.0, 25 / 255.0), @@ -487,7 +487,7 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { mSpecularPower = 0.0 ) ), - MaterialPresetType.TraforWoodStone.value: MaterialPresetData( + MaterialPresetType.TraforWoodStone: MaterialPresetData( "Transform Stone & Wood", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(25 / 255.0, 25 / 255.0, 25 / 255.0), @@ -497,7 +497,7 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { mSpecularPower = 0.0 ) ), - MaterialPresetType.Rail.value: MaterialPresetData( + MaterialPresetType.Rail: MaterialPresetData( "Rail", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(0.0, 0.0, 0.0), @@ -507,7 +507,7 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { mSpecularPower = 10.0 ) ), - MaterialPresetType.WoodPath.value: MaterialPresetData( + MaterialPresetType.WoodPath: MaterialPresetData( "Wood Path", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(2 / 255.0, 2 / 255.0, 2 / 255.0), @@ -517,7 +517,7 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { mSpecularPower = 25.0 ) ), - MaterialPresetType.WoodChip.value: MaterialPresetData( + MaterialPresetType.WoodChip: MaterialPresetData( "Wood Chip", RawVirtoolsMaterial( mAmbient = UTIL_virtools_types.VxColor(25 / 255.0, 25 / 255.0, 25 / 255.0), @@ -529,8 +529,11 @@ g_MaterialPresets: dict[int, MaterialPresetData] = { ), } +def get_virtools_material_preset(preset_type: MaterialPresetType) -> MaterialPresetData: + return _g_MaterialPresets[preset_type] + def preset_virtools_material(mtl: bpy.types.Material, preset_type: MaterialPresetType) -> None: - preset_data: MaterialPresetData = g_MaterialPresets[preset_type.value] + preset_data: MaterialPresetData = _g_MaterialPresets[preset_type] set_raw_virtools_material(mtl, preset_data.mData) class _MtlPresetEnumPropHelper(): @@ -540,7 +543,7 @@ class _MtlPresetEnumPropHelper(): @staticmethod def __get_name(v: MaterialPresetType) -> str: - entry: MaterialPresetData | None = g_MaterialPresets.get(v, None) + entry: MaterialPresetData | None = _g_MaterialPresets.get(v, None) if entry: return entry.mDisplayName else: return "" diff --git a/bbp_ng/UTIL_icons_manager.py b/bbp_ng/UTIL_icons_manager.py index 4258efa..64a3501 100644 --- a/bbp_ng/UTIL_icons_manager.py +++ b/bbp_ng/UTIL_icons_manager.py @@ -17,10 +17,10 @@ _g_IconsManager: bpy.utils.previews.ImagePreviewCollection | None = None _g_EmptyIcon: int = 0 _g_IconPrefix: str = "BlcBldPlg_" -_g_FloorIconsMap: dict[str, int] = {} -_g_FloorIconPrefix: str = _g_IconPrefix + 'Floor_' -_g_ElementIconsMap: dict[str, int] = {} -_g_ElementIconPrefix: str = _g_IconPrefix + 'Element_' +_g_BmeIconsMap: dict[str, int] = {} +_g_BmeIconPrefix: str = _g_IconPrefix + 'Bme_' +_g_ComponentIconsMap: dict[str, int] = {} +_g_ComponentIconPrefix: str = _g_IconPrefix + 'Component_' _g_GroupIconsMap: dict[str, int] = {} _g_GroupIconPrefix: str = _g_IconPrefix + 'Group_' @@ -55,11 +55,11 @@ def _load_image_folder( def get_empty_icon() -> int: return _g_EmptyIcon -def get_floor_icon(name: str) -> int | None: - return _g_FloorIconsMap.get(name, None) +def get_bme_icon(name: str) -> int | None: + return _g_BmeIconsMap.get(name, None) -def get_element_icon(name: str) -> int | None: - return _g_ElementIconsMap.get(name, None) +def get_component_icon(name: str) -> int | None: + return _g_ComponentIconsMap.get(name, None) def get_group_icon(name: str) -> int | None: return _g_GroupIconsMap.get(name, None) @@ -69,7 +69,7 @@ def get_group_icon(name: str) -> int | None: def register(): global _g_IconsManager global _g_EmptyIcon - global _g_FloorIconsMap, _g_ElementIconsMap, _g_GroupIconsMap + global _g_BmeIconsMap, _g_ComponentIconsMap, _g_GroupIconsMap # create preview collection and get icon folder icons_folder: str = os.path.join(os.path.dirname(__file__), "icons") @@ -80,18 +80,18 @@ def register(): _g_IconsManager.load(empty_icon_name, os.path.join(icons_folder, "Empty.png"), 'IMAGE') _g_EmptyIcon = _g_IconsManager[empty_icon_name].icon_id - # load floor, element, group icon + # load bme, component, group icon _load_image_folder( - os.path.join(icons_folder, 'floor'), + os.path.join(icons_folder, 'bme'), _g_IconsManager, - _g_FloorIconsMap, - _g_FloorIconPrefix + _g_BmeIconsMap, + _g_BmeIconPrefix ) _load_image_folder( - os.path.join(icons_folder, 'element'), + os.path.join(icons_folder, 'component'), _g_IconsManager, - _g_ElementIconsMap, - _g_ElementIconPrefix + _g_ComponentIconsMap, + _g_ComponentIconPrefix ) _load_image_folder( os.path.join(icons_folder, 'group'), @@ -103,11 +103,11 @@ def register(): def unregister(): global _g_IconsManager global _g_EmptyIcon - global _g_FloorIconsMap, _g_ElementIconsMap, _g_GroupIconsMap + global _g_BmeIconsMap, _g_ComponentIconsMap, _g_GroupIconsMap bpy.utils.previews.remove(_g_IconsManager) _g_IconsManager = None - _g_FloorIconsMap.clear() - _g_ElementIconsMap.clear() + _g_BmeIconsMap.clear() + _g_ComponentIconsMap.clear() _g_GroupIconsMap.clear() diff --git a/bbp_ng/__init__.py b/bbp_ng/__init__.py index 4a8b225..6be80d2 100644 --- a/bbp_ng/__init__.py +++ b/bbp_ng/__init__.py @@ -29,7 +29,7 @@ from . import UTIL_icons_manager UTIL_icons_manager.register() # then load other modules -from . import PROP_preferences, PROP_ptrprop_resolver, PROP_virtools_material, PROP_virtools_texture, PROP_virtools_mesh, PROP_ballance_element, PROP_virtools_group +from . import PROP_preferences, PROP_ptrprop_resolver, PROP_virtools_material, PROP_virtools_texture, PROP_virtools_mesh, PROP_virtools_group, PROP_ballance_element, PROP_bme_material from . import OP_IMPORT_bmfile, OP_EXPORT_bmfile, OP_IMPORT_virtools, OP_EXPORT_virtools from . import OP_UV_flatten_uv, OP_UV_rail_uv from . import OP_ADDS_component @@ -153,8 +153,9 @@ def register() -> None: PROP_virtools_material.register() PROP_virtools_texture.register() PROP_virtools_mesh.register() - PROP_ballance_element.register() PROP_virtools_group.register() + PROP_ballance_element.register() + PROP_bme_material.register() OP_IMPORT_bmfile.register() OP_EXPORT_bmfile.register() @@ -195,8 +196,9 @@ def unregister() -> None: OP_EXPORT_bmfile.unregister() OP_IMPORT_bmfile.unregister() - PROP_virtools_group.unregister() + PROP_bme_material.unregister() PROP_ballance_element.unregister() + PROP_virtools_group.unregister() PROP_virtools_mesh.unregister() PROP_virtools_texture.unregister() PROP_virtools_material.unregister() diff --git a/bbp_ng/json/basic_blocks/misc.json b/bbp_ng/json/basic_blocks/misc.json deleted file mode 100644 index e08fc37..0000000 --- a/bbp_ng/json/basic_blocks/misc.json +++ /dev/null @@ -1,483 +0,0 @@ -[ - { - "Type": "Flat", - "BindingDisplayTexture": "Flat.png", - "UnitSize": "Small", - "ExpandType": "Freedom", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 0, 0", - "2.5+d2, 0, 0", - "2.5+d2, 2.5+d1, 0", - "0, 2.5+d1, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5", - "0, -d2", - "0.5+d1, -d2", - "0.5+d1, 0.5" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "0, 0, -5-d3", - "2.5+d2, 0, -5-d3", - "2.5+d2, 2.5+d1, -5-d3", - "0, 2.5+d1, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0, -d2", - "0.5+d1, -d2", - "0.5+d1, 0.5" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, 0", - "0, 2.5+d1, 0", - "0, 2.5+d1, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "0, 0.5+d1", - "1+d3, 0.5+d1", - "1+d3, 0" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5+d2, 2.5+d1, 0", - "2.5+d2, 2.5+d1, -5-d3", - "0, 2.5+d1, -5-d3", - "0, 2.5+d1, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d2", - "1+d3, -d2", - "1+d3, 0.5", - "0, 0.5" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5+d2, 2.5+d1, 0", - "2.5+d2, 0, 0", - "2.5+d2, 0, -5-d3", - "2.5+d2, 2.5+d1, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5+d1", - "0, 0", - "1+d3, 0", - "1+d3, 0.5+d1" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "0, 0, 0", - "0, 0, -5-d3", - "2.5+d2, 0, -5-d3", - "2.5+d2, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, -d2", - "0, -d2" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": null - }, - { - "Type": "NormalSinkTransition", - "BindingDisplayTexture": "NormalSinkTransition.png", - "UnitSize": "Large", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 0, 0", - "5, 0, 0", - "0, 2.5, -0.7", - "5, 5, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfilFlat", - "Indices": [ - 0, - 1, - 2 - ], - "UVs": [ - "0, 1", - "0, 0", - "0.5, 1" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfilFlat", - "Indices": [ - 3, - 2, - 1 - ], - "UVs": [ - "1, 0", - "0.5, 1", - "0, 0" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfilFlat", - "Indices": [ - 2, - 3, - 4 - ], - "UVs": [ - "0.5, 1", - "1, 0", - "1, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 1", - "1, 1", - "1, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 0, 0", - "0, 2.5, -0.7", - "0, 2.5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "0, 1", - "0.5, 0.86", - "0.5, -d3" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 5, - 4, - 3, - 2 - ], - "UVs": [ - "1, 1", - "1, -d3", - "0.5, -d3", - "0.5, 0.86" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "5, 5, 0", - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1+d3, 0", - "1+d3, 1", - "0, 1" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "5, 5, 0", - "5, 0, 0", - "5, 0, -5-d3", - "5, 5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 1", - "0, 0", - "1+d3, 0", - "1+d3, 1" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "5, 0, 0", - "5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 1", - "1+d3, 1", - "1+d3, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": { - "Vertices": [ - "0, 5, 0", - "5, 5, 0", - "5, 5, -2.5", - "0, 5, -2.5", - "0, 5, -5-d3", - "5, 5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 1", - "0, 0", - "0.5, 0", - "0.5, 1" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 5, - 4, - 3, - 2 - ], - "UVs": [ - "0.5+d3, 0", - "0.5+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "0, 0, 0", - "5, 0, 0", - "5, 0, -2.5", - "0, 0, -2.5", - "0, 0, -5-d3", - "5, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0.5, 1", - "0.5, 0", - "0, 0", - "0, 1" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0, 0", - "0, 1", - "0.5+d3, 1", - "0.5+d3, 0" - ] - } - ] - } - } -] \ No newline at end of file diff --git a/bbp_ng/json/basic_blocks/normal_blocks.json b/bbp_ng/json/basic_blocks/normal_blocks.json deleted file mode 100644 index a4d0c76..0000000 --- a/bbp_ng/json/basic_blocks/normal_blocks.json +++ /dev/null @@ -1,680 +0,0 @@ -[ - { - "Type": "NormalBorder", - "BindingDisplayTexture": "NormalBorder.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 0, 0", - "2.5+d1, 0, 0", - "2.5+d1, 2.5, 0", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5", - "0, -d1", - "0.5, -d1", - "0.5, 0.5" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "2.5+d1, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, -d1", - "0, -d1" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0, 0", - "1+d3, 0", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5+d1, 2.5, 0", - "2.5+d1, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d1", - "1+d3, -d1", - "1+d3, 0.5", - "0, 0.5" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "2.5+d1, 2.5, -5-d3", - "2.5+d1, 2.5, 0", - "2.5+d1, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0.5", - "1+d3, 0", - "0, 0", - "0, 0.5" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, -d1", - "0, -d1" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, -2.5", - "2.5+d1, 0, -2.5", - "2.5+d1, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, -d1", - "0, -d1", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, -d1", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, -d1" - ] - } - ] - } - }, - { - "Type": "NormalOutterCorner", - "BindingDisplayTexture": "NormalOutterCorner.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 0, 0", - "2.5, 0, 0", - "2.5, 2.5, 0", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "TRIANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 1, - 2 - ], - "UVs": [ - "0, 0.5", - "0, 1", - "0.5, 1" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 2, - 3 - ], - "UVs": [ - "1, 0.5", - "0.5, 1", - "1, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 0, 0", - "0, 2.5, 0", - "0, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "0, 0", - "0, 0.5", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, 0", - "2.5, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 0.5", - "0, 0.5", - "0, 0" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "2.5, 2.5, 0", - "2.5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 0.5", - "0, 0.5", - "0, 0" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "2.5, 0, 0", - "2.5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSideExpand": { - "Vertices": [ - "0, 0, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, -2.5", - "0, 0, -2.5", - "0, 0, 0", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, 0", - "0, 0", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, 0" - ] - } - ] - }, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "2.5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, -2.5", - "2.5, 0, -2.5", - "2.5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, 0", - "0, 0", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, 0" - ] - } - ] - } - }, - { - "Type": "NormalInnerCorner", - "BindingDisplayTexture": "NormalInnerCorner.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "2.5, 0, 0", - "2.5, 2.5, 0", - "0, 0, 0", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "TRIANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 1, - 2 - ], - "UVs": [ - "0.5, 1", - "0, 1", - "0.5, 0.5" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 3, - 2, - 1 - ], - "UVs": [ - "0.5, 1", - "0.5, 0.5", - "1, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, 0", - "0, 2.5, 0", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "1+d3, 0.5", - "1+d3, 0" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5, 2.5, 0", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1+d3, 0", - "1+d3, 0.5", - "0, 0.5" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5, 2.5, 0", - "2.5, 0, 0", - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5", - "0, 0", - "1+d3, 0", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "0, 0, 0", - "0, 0, -5-d3", - "2.5, 0, -5-d3", - "2.5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": null - } -] \ No newline at end of file diff --git a/bbp_ng/json/basic_blocks/ribbon_blocks.json b/bbp_ng/json/basic_blocks/ribbon_blocks.json deleted file mode 100644 index 4feef80..0000000 --- a/bbp_ng/json/basic_blocks/ribbon_blocks.json +++ /dev/null @@ -1,493 +0,0 @@ -[ - { - "Type": "RibbonBorder", - "BindingDisplayTexture": "RibbonBorder.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 2.5, -0.7", - "0, 2.5, -0.7", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d1", - "1, -d1", - "1, 0.5", - "0, 0.5" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "2.5+d1, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, -d1", - "0, -d1" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 0, 0", - "0, 2.5, -0.7", - "0, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "0, 0", - "0.14, 0.5", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5+d1, 2.5, -0.7", - "2.5+d1, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0.14, -d1", - "1+d3, -d1", - "1+d3, 0.5", - "0.14, 0.5" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 0, -5-d3", - "2.5+d1, 2.5, -5-d3", - "2.5+d1, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1+d3, 0", - "1+d3, 0.5", - "0.14, 0.5" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, -d1", - "0, -d1" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, -2.5", - "2.5+d1, 0, -2.5", - "2.5+d1, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, -d1", - "0, -d1", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, -d1", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, -d1" - ] - } - ] - } - }, - { - "Type": "RibbonOutterCorner", - "BindingDisplayTexture": "RibbonOutterCorner.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 0, 0", - "2.5, 0, 0", - "2.5, 2.5, -0.7", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "TRIANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 1, - 2 - ], - "UVs": [ - "0, 0", - "0, 1", - "1, 1" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopFlat", - "Indices": [ - 0, - 2, - 3 - ], - "UVs": [ - "1, 0", - "0, 1", - "1, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 0, 0", - "0, 2.5, 0", - "0, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "0, 0", - "0, 0.5", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, 0", - "2.5, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 0.5", - "0, 0.5", - "0.14, 0" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "2.5, 2.5, -0.7", - "2.5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 0.5", - "0.14, 0.5", - "0, 0" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "2.5, 0, 0", - "2.5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSideExpand": { - "Vertices": [ - "0, 0, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, -2.5", - "0, 0, -2.5", - "0, 0, 0", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, 0", - "0, 0", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, 0" - ] - } - ] - }, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "2.5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, -2.5", - "2.5, 0, -2.5", - "2.5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, 0", - "0, 0", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, 0" - ] - } - ] - } - } -] \ No newline at end of file diff --git a/bbp_ng/json/basic_blocks/sink_blocks.json b/bbp_ng/json/basic_blocks/sink_blocks.json deleted file mode 100644 index 6a3e048..0000000 --- a/bbp_ng/json/basic_blocks/sink_blocks.json +++ /dev/null @@ -1,680 +0,0 @@ -[ - { - "Type": "SinkBorder", - "BindingDisplayTexture": "SinkBorder.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 2.5, -0.7", - "0, 2.5, -0.7", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopProfil", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d1", - "0.5, -d1", - "0.5, 0.5", - "0, 0.5" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "2.5+d1, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, -d1", - "0, -d1" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 0, 0", - "0, 2.5, -0.7", - "0, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "0, 0", - "0.14, 0.5", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5+d1, 2.5, -0.7", - "2.5+d1, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0.14, -d1", - "1+d3, -d1", - "1+d3, 0.5", - "0.14, 0.5" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 0, -5-d3", - "2.5+d1, 2.5, -5-d3", - "2.5+d1, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1+d3, 0", - "1+d3, 0.5", - "0.14, 0.5" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "2.5+d1, 0, 0", - "2.5+d1, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, -d1", - "0, -d1" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "2.5+d1, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, -2.5", - "2.5+d1, 0, -2.5", - "2.5+d1, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, -d1", - "0, -d1", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, -d1", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, -d1" - ] - } - ] - } - }, - { - "Type": "SinkOutterCorner", - "BindingDisplayTexture": "SinkOutterCorner.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 0, 0", - "2.5, 0, 0", - "2.5, 2.5, -0.7", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfil", - "Indices": [ - 0, - 1, - 2 - ], - "UVs": [ - "0, 0.5", - "0, 1", - "0.5, 1" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfil", - "Indices": [ - 0, - 2, - 3 - ], - "UVs": [ - "1, 0.5", - "0.5, 1", - "1, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -5-d3", - "0, 0, 0", - "0, 2.5, 0", - "0, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "0, 0", - "0, 0.5", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, 0", - "2.5, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 0.5", - "0, 0.5", - "0.14, 0" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "2.5, 2.5, -0.7", - "2.5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 0.5", - "0.14, 0.5", - "0, 0" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "2.5, 0, 0", - "2.5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "1+d3, 0.5", - "1+d3, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSideExpand": { - "Vertices": [ - "0, 0, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, -2.5", - "0, 0, -2.5", - "0, 0, 0", - "0, 2.5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, 0", - "0, 0", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, 0" - ] - } - ] - }, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": { - "Vertices": [ - "2.5, 0, -5-d3", - "0, 0, -5-d3", - "0, 0, -2.5", - "2.5, 0, -2.5", - "2.5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorder_ForSide", - "Indices": [ - 2, - 3, - 4, - 5 - ], - "UVs": [ - "0.5, 0.5", - "0.5, 0", - "0, 0", - "0, 0.5" - ] - }, - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0", - "0, 0.5", - "0.5+d3, 0.5", - "0.5+d3, 0" - ] - } - ] - } - }, - { - "Type": "SinkInnerCorner", - "BindingDisplayTexture": "SinkInnerCorner.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "ThreeDTopFace": { - "Vertices": [ - "2.5, 0, -0.7", - "2.5, 2.5, 0", - "0, 0, -0.7", - "0, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfil", - "Indices": [ - 0, - 1, - 2 - ], - "UVs": [ - "0.5, 1", - "0, 1", - "0.5, 0.5" - ] - }, - { - "Type": "TRIANGLE", - "Textures": "FloorTopProfil", - "Indices": [ - 3, - 2, - 1 - ], - "UVs": [ - "0.5, 1", - "0.5, 0.5", - "1, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 3, - 2, - 1, - 0 - ], - "UVs": [ - "0, 0.5", - "0.5, 0.5", - "0.5, 0", - "0, 0" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 0, -0.7", - "0, 2.5, -0.7", - "0, 2.5, -5-d3", - "0, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0.14, 0", - "0.14, 0.5", - "1+d3, 0.5", - "1+d3, 0" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "2.5, 2.5, 0", - "2.5, 2.5, -5-d3", - "0, 2.5, -5-d3", - "0, 2.5, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1+d3, 0", - "1+d3, 0.5", - "0.14, 0.5" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "2.5, 2.5, 0", - "2.5, 0, -0.7", - "2.5, 0, -5-d3", - "2.5, 2.5, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0.5", - "0.14, 0", - "1+d3, 0", - "1+d3, 0.5" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "0, 0, -0.7", - "0, 0, -5-d3", - "2.5, 0, -5-d3", - "2.5, 0, -0.7" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "FloorTopBorderless_ForSide", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0.14, 0.5", - "1+d3, 0.5", - "1+d3, 0", - "0.14, 0" - ] - } - ] - }, - "TwoDTopSideExpand": null, - "TwoDRightSideExpand": null, - "TwoDBottomSideExpand": null, - "TwoDLeftSideExpand": null - } -] \ No newline at end of file diff --git a/bbp_ng/json/basic_blocks/trafos.json b/bbp_ng/json/basic_blocks/trafos.json deleted file mode 100644 index 25998b2..0000000 --- a/bbp_ng/json/basic_blocks/trafos.json +++ /dev/null @@ -1,827 +0,0 @@ -[ - { - "Type": "WoodTrafo", - "BindingDisplayTexture": "WoodTrafo.png", - "UnitSize": "Large", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": true - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 5, 0", - "0, 0, 0", - "5, 0, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1, 0", - "1, 1", - "0, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "0, 0, -5-d3", - "0, 5, -5-d3", - "5, 5, -5-d3", - "5, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1, 0", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 5, -5-d3", - "0, 0, -5-d3", - "0, 0, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "5, 5, 0", - "5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "0, 0, -5-d3", - "5, 0, -5-d3", - "5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDTopSideExpand": { - "Vertices": [ - "0, 5, -5-d3", - "0, 0, -5-d3", - "0, 0, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDRightSideExpand": { - "Vertices": [ - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDBottomSideExpand": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "5, 5, 0", - "5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDLeftSideExpand": { - "Vertices": [ - "0, 0, -5-d3", - "5, 0, -5-d3", - "5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallWood", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - } - }, - { - "Type": "StoneTrafo", - "BindingDisplayTexture": "StoneTrafo.png", - "UnitSize": "Large", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": true - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 5, 0", - "0, 0, 0", - "5, 0, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1, 0", - "1, 1", - "0, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "0, 0, -5-d3", - "0, 5, -5-d3", - "5, 5, -5-d3", - "5, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1, 0", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 5, -5-d3", - "0, 0, -5-d3", - "0, 0, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "5, 5, 0", - "5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "0, 0, -5-d3", - "5, 0, -5-d3", - "5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDTopSideExpand": { - "Vertices": [ - "0, 5, -5-d3", - "0, 0, -5-d3", - "0, 0, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDRightSideExpand": { - "Vertices": [ - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDBottomSideExpand": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "5, 5, 0", - "5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDLeftSideExpand": { - "Vertices": [ - "0, 0, -5-d3", - "5, 0, -5-d3", - "5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallStone", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - } - }, - { - "Type": "PaperTrafo", - "BindingDisplayTexture": "PaperTrafo.png", - "UnitSize": "Large", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": true - }, - "ThreeDTopFace": { - "Vertices": [ - "0, 5, 0", - "0, 0, 0", - "5, 0, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1, 0", - "1, 1", - "0, 1" - ] - } - ] - }, - "ThreeDBottomFace": { - "Vertices": [ - "0, 0, -5-d3", - "0, 5, -5-d3", - "5, 5, -5-d3", - "5, 0, -5-d3" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, 0", - "1, 0", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDTopSide": { - "Vertices": [ - "0, 5, -5-d3", - "0, 0, -5-d3", - "0, 0, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDRightSide": { - "Vertices": [ - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDBottomSide": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "5, 5, 0", - "5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDLeftSide": { - "Vertices": [ - "0, 0, -5-d3", - "5, 0, -5-d3", - "5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "0, -d3", - "1, -d3", - "1, 1", - "0, 1" - ] - } - ] - }, - "TwoDTopSideExpand": { - "Vertices": [ - "0, 5, -5-d3", - "0, 0, -5-d3", - "0, 0, 0", - "0, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDRightSideExpand": { - "Vertices": [ - "5, 5, -5-d3", - "0, 5, -5-d3", - "0, 5, 0", - "5, 5, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDBottomSideExpand": { - "Vertices": [ - "5, 0, -5-d3", - "5, 5, -5-d3", - "5, 5, 0", - "5, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - }, - "TwoDLeftSideExpand": { - "Vertices": [ - "0, 0, -5-d3", - "5, 0, -5-d3", - "5, 0, 0", - "0, 0, 0" - ], - "Faces": [ - { - "Type": "RECTANGLE", - "Textures": "BallPaper", - "Indices": [ - 0, - 1, - 2, - 3 - ], - "UVs": [ - "1+d3, 0", - "1+d3, 1", - "0, 1", - "0, 0" - ] - } - ] - } - } -] \ No newline at end of file diff --git a/bbp_ng/json/derived_blocks/normal_blocks.json b/bbp_ng/json/derived_blocks/normal_blocks.json deleted file mode 100644 index ded579e..0000000 --- a/bbp_ng/json/derived_blocks/normal_blocks.json +++ /dev/null @@ -1,317 +0,0 @@ -[ - { - "Type": "NormalFloor", - "BindingDisplayTexture": "NormalFloor.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "NormalBorder", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R180", - "SideSync": "2dBottom;False;2dTop;2dRight;3dTop;3dBottom", - "StartPosition": "d1, (2.5*1), 0", - "ExpandParam": "d1, 0" - } - ] - }, - { - "Type": "NormalFloorTerminal", - "BindingDisplayTexture": "NormalFloorTerminal.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "NormalOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;2dBottom;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "Normal1x1", - "BindingDisplayTexture": "Normal1x1.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "NormalOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R90", - "SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R180", - "SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "NormalPlatform", - "BindingDisplayTexture": "NormalPlatform.png", - "UnitSize": "Small", - "ExpandType": "Freedom", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;False;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "d1, d2" - }, - { - "Type": "NormalBorder", - "Rotation": "R0", - "SideSync": "False;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R90", - "SideSync": "False;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, (2.5*1), 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R180", - "SideSync": "False;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*1) +d2, (2.5*2) +d1, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R270", - "SideSync": "False;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1) +d1, 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R90", - "SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R180", - "SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, (2.5*2) +d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*2) +d1, 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "NormalLConnector", - "BindingDisplayTexture": "NormalLConnector.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "NormalOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R0", - "SideSync": "False;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "NormalTConnector", - "BindingDisplayTexture": "NormalTConnector.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "NormalInnerCorner", - "Rotation": "R270", - "SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalBorder", - "Rotation": "R270", - "SideSync": "2dRight;False;2dLeft;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "1, 0" - } - ] - }, - { - "Type": "NormalCrossroad", - "BindingDisplayTexture": "NormalCrossroad.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "NormalInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalInnerCorner", - "Rotation": "R90", - "SideSync": "False;2dTop;2dRight;False;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalInnerCorner", - "Rotation": "R180", - "SideSync": "False;2dLeft;2dTop;False;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "NormalInnerCorner", - "Rotation": "R270", - "SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - } - ] - } -] \ No newline at end of file diff --git a/bbp_ng/json/derived_blocks/sink_blocks.json b/bbp_ng/json/derived_blocks/sink_blocks.json deleted file mode 100644 index f7ca115..0000000 --- a/bbp_ng/json/derived_blocks/sink_blocks.json +++ /dev/null @@ -1,397 +0,0 @@ -[ - { - "Type": "SinkFloor", - "BindingDisplayTexture": "SinkFloor.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkBorder", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R180", - "SideSync": "2dBottom;False;2dTop;2dRight;3dTop;3dBottom", - "StartPosition": "d1, (2.5*1), 0", - "ExpandParam": "d1, 0" - } - ] - }, - { - "Type": "SinkFloorTerminal", - "BindingDisplayTexture": "SinkFloorTerminal.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;2dBottom;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "Sink1x1", - "BindingDisplayTexture": "Sink1x1.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R90", - "SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R180", - "SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "SinkPlatform", - "BindingDisplayTexture": "SinkPlatform.png", - "UnitSize": "Small", - "ExpandType": "Freedom", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;False;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), -0.7", - "ExpandParam": "d1, d2" - }, - { - "Type": "SinkBorder", - "Rotation": "R0", - "SideSync": "False;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R90", - "SideSync": "False;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, (2.5*1), 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R180", - "SideSync": "False;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*1) +d2, (2.5*2) +d1, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R270", - "SideSync": "False;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1) +d1, 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R90", - "SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R180", - "SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, (2.5*2) +d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*2) +d1, 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "RibbonPlatform", - "BindingDisplayTexture": "RibbonPlatform.png", - "UnitSize": "Small", - "ExpandType": "Freedom", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": true, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;False;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), -0.7", - "ExpandParam": "d1, d2" - }, - { - "Type": "RibbonBorder", - "Rotation": "R0", - "SideSync": "False;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "RibbonBorder", - "Rotation": "R90", - "SideSync": "False;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, (2.5*1), 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "RibbonBorder", - "Rotation": "R180", - "SideSync": "False;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*1) +d2, (2.5*2) +d1, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "RibbonBorder", - "Rotation": "R270", - "SideSync": "False;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1) +d1, 0", - "ExpandParam": "d1, 0" - }, - { - "Type": "RibbonOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "RibbonOutterCorner", - "Rotation": "R90", - "SideSync": "2dLeft;False;False;2dBottom;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "RibbonOutterCorner", - "Rotation": "R180", - "SideSync": "2dBottom;False;False;2dRight;3dTop;3dBottom", - "StartPosition": "(2.5*2) +d2, (2.5*2) +d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "RibbonOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*2) +d1, 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "SinkLConnector", - "BindingDisplayTexture": "SinkLConnector.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R0", - "SideSync": "False;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - } - ] - }, - { - "Type": "SinkTConnector", - "BindingDisplayTexture": "SinkTConnector.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkInnerCorner", - "Rotation": "R270", - "SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R270", - "SideSync": "2dRight;False;2dLeft;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "1, 0" - } - ] - }, - { - "Type": "SinkCrossroad", - "BindingDisplayTexture": "SinkCrossroad.png", - "UnitSize": "Small", - "ExpandType": "Static", - "InitColumnDirection": "PositiveX", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R90", - "SideSync": "False;2dTop;2dRight;False;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R180", - "SideSync": "False;2dLeft;2dTop;False;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R270", - "SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "0, 0" - } - ] - } -] \ No newline at end of file diff --git a/bbp_ng/json/derived_blocks/wide_blocks.json b/bbp_ng/json/derived_blocks/wide_blocks.json deleted file mode 100644 index 65bfa58..0000000 --- a/bbp_ng/json/derived_blocks/wide_blocks.json +++ /dev/null @@ -1,262 +0,0 @@ -[ - { - "Type": "WideFloor", - "BindingDisplayTexture": "WideFloor.png", - "UnitSize": "Small", - "ExpandType": "Freedom", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkBorder", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R180", - "SideSync": "2dBottom;False;2dTop;2dRight;3dTop;3dBottom", - "StartPosition": "d2, (2.5*2)+d1, 0", - "ExpandParam": "d2, 0" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;False;3dTop;3dBottom", - "StartPosition": "0, (2.5*1), -0.7", - "ExpandParam": "d1, d2" - } - ] - }, - { - "Type": "WideFloorTerminal", - "BindingDisplayTexture": "WideFloorTerminal.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": true, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkOutterCorner", - "Rotation": "R270", - "SideSync": "2dRight;2dBottom;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*2)+d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R270", - "SideSync": "False;2dBottom;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*1) +d1, 0", - "ExpandParam": "d1, 0" - } - ] - }, - { - "Type": "WideLConnector", - "BindingDisplayTexture": "WideLConnector.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": true, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkOutterCorner", - "Rotation": "R0", - "SideSync": "2dTop;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R0", - "SideSync": "False;False;2dBottom;2dLeft;3dTop;3dBottom", - "StartPosition": "(2.5*1), 0, 0", - "ExpandParam": "d1 + 1, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*2) + d1, (2.5*2) + d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R270", - "SideSync": "2dRight;False;False;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*2)+d1, 0", - "ExpandParam": "d1 + 1, 0" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;2dBottom;False;3dTop;3dBottom", - "StartPosition": "2.5, 2.5, -0.7", - "ExpandParam": "d1, d1 + 1" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;2dRight;False;False;3dTop;3dBottom", - "StartPosition": "2.5, (2.5 * 2) + d1, -0.7", - "ExpandParam": "0, d1" - } - ] - }, - { - "Type": "WideTConnector", - "BindingDisplayTexture": "WideTConnector.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": true, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkInnerCorner", - "Rotation": "R270", - "SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom", - "StartPosition": "(2.5*2) + d1, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*2) + d1, (2.5*2) + d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkBorder", - "Rotation": "R270", - "SideSync": "2dRight;False;2dLeft;2dTop;3dTop;3dBottom", - "StartPosition": "0, (2.5*2) + d1, 0", - "ExpandParam": "d1 + 2, 0" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;2dBottom;False;3dTop;3dBottom", - "StartPosition": "2.5, 2.5, -0.7", - "ExpandParam": "d1, d1+1" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "2.5, 0, -0.7", - "ExpandParam": "0, d1" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;2dRight;False;False;3dTop;3dBottom", - "StartPosition": "2.5, (2.5*2)+d1, -0.7", - "ExpandParam": "0, d1" - } - ] - }, - { - "Type": "WideCrossroad", - "BindingDisplayTexture": "WideCrossroad.png", - "UnitSize": "Small", - "ExpandType": "Column", - "InitColumnDirection": "PositiveY", - "DefaultSideConfig": { - "UseTwoDTop": false, - "UseTwoDRight": false, - "UseTwoDBottom": false, - "UseTwoDLeft": false, - "UseThreeDTop": true, - "UseThreeDBottom": false - }, - "SmashedBlocks": [ - { - "Type": "SinkInnerCorner", - "Rotation": "R0", - "SideSync": "False;2dRight;2dBottom;False;3dTop;3dBottom", - "StartPosition": "(2.5*2)+d1, (2.5*2)+d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R90", - "SideSync": "False;2dTop;2dRight;False;3dTop;3dBottom", - "StartPosition": "0, (2.5*2)+d1, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R180", - "SideSync": "False;2dLeft;2dTop;False;3dTop;3dBottom", - "StartPosition": "0, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "SinkInnerCorner", - "Rotation": "R270", - "SideSync": "False;2dBottom;2dLeft;False;3dTop;3dBottom", - "StartPosition": "(2.5*2)+d1, 0, 0", - "ExpandParam": "0, 0" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "2dTop;False;2dBottom;False;3dTop;3dBottom", - "StartPosition": "0, 2.5, -0.7", - "ExpandParam": "d1, d1+2" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;False;False;2dLeft;3dTop;3dBottom", - "StartPosition": "2.5, 0, -0.7", - "ExpandParam": "0, d1" - }, - { - "Type": "Flat", - "Rotation": "R0", - "SideSync": "False;2dRight;False;False;3dTop;3dBottom", - "StartPosition": "2.5, (2.5*2)+d1, -0.7", - "ExpandParam": "0, d1" - } - ] - } -] \ No newline at end of file diff --git a/bbp_ng/json/trafos.json b/bbp_ng/json/trafos.json new file mode 100644 index 0000000..f8f24ff --- /dev/null +++ b/bbp_ng/json/trafos.json @@ -0,0 +1,264 @@ +[ + { + "identifier": "raw_trafo", + "showcase": null, + "params": [ + { + "field": "trafo_texture", + "data": "\"BallWood\"" + }, + { + "field": "face", + "data": "(True, True, True, True, True, True)" + } + ], + "vars": [], + "vertices": [ + { + "skip": "False", + "data": "(0, 0, 0)" + }, + { + "skip": "False", + "data": "(5, 0, 0)" + }, + { + "skip": "False", + "data": "(5, 5, 0)" + }, + { + "skip": "False", + "data": "(0, 5, 0)" + }, + { + "skip": "False", + "data": "(0, 0, -5)" + }, + { + "skip": "False", + "data": "(5, 0, -5)" + }, + { + "skip": "False", + "data": "(5, 5, -5)" + }, + { + "skip": "False", + "data": "(0, 5, -5)" + } + ], + "faces": [ + { + "skip": "not face[0]", + "texture": "trafo_texture", + "indices": [0, 1, 2, 3], + "uvs": [ + "(0, 0)", + "(1, 0)", + "(1, 1)", + "(0, 1)" + ], + "normals": [ + "(0, 0, 1)", + "(0, 0, 1)", + "(0, 0, 1)", + "(0, 0, 1)" + ] + }, + { + "skip": "not face[1]", + "texture": "trafo_texture", + "indices": [7, 6, 5, 4], + "uvs": [ + "(0, 0)", + "(1, 0)", + "(1, 1)", + "(0, 1)" + ], + "normals": [ + "(0, 0, -1)", + "(0, 0, -1)", + "(0, 0, -1)", + "(0, 0, -1)" + ] + }, + { + "skip": "not face[2]", + "texture": "trafo_texture", + "indices": [0, 3, 7, 4], + "uvs": [ + "(0, 0)", + "(1, 0)", + "(1, 1)", + "(0, 1)" + ], + "normals": [ + "(-1, 0, 0)", + "(-1, 0, 0)", + "(-1, 0, 0)", + "(-1, 0, 0)" + ] + }, + { + "skip": "not face[3]", + "texture": "trafo_texture", + "indices": [5, 6, 2, 1], + "uvs": [ + "(0, 0)", + "(1, 0)", + "(1, 1)", + "(0, 1)" + ], + "normals": [ + "(1, 0, 0)", + "(1, 0, 0)", + "(1, 0, 0)", + "(1, 0, 0)" + ] + }, + { + "skip": "not face[4]", + "texture": "trafo_texture", + "indices": [4, 5, 1, 0], + "uvs": [ + "(0, 0)", + "(1, 0)", + "(1, 1)", + "(0, 1)" + ], + "normals": [ + "(0, -1, 0)", + "(0, -1, 0)", + "(0, -1, 0)", + "(0, -1, 0)" + ] + }, + { + "skip": "not face[5]", + "texture": "trafo_texture", + "indices": [3, 2, 6, 7], + "uvs": [ + "(0, 0)", + "(1, 0)", + "(1, 1)", + "(0, 1)" + ], + "normals": [ + "(1, 0, 0)", + "(1, 0, 0)", + "(1, 0, 0)", + "(1, 0, 0)" + ] + } + ], + "instances": [] + }, + { + "identifier": "wood_trafo", + "showcase": { + "title": "Wood Trafo", + "icon": "WoodTrafo", + "cfgs": [ + { + "field": "face_", + "type": "face", + "title": "Face", + "desc": "Whether has some faces.", + "default": "(True, True, True, True, True, True)" + } + ] + }, + "params": [ + { + "field": "face", + "data": "face_" + } + ], + "vars": [], + "vertices": [], + "faces": [], + "instances": [ + { + "identifier": "raw_trafo", + "skip": "False", + "params": { + "trafo_texture": "\"BallWood\"", + "face": "face" + }, + "transform": "ident()" + } + ] + }, + { + "identifier": "stone_trafo", + "showcase": { + "title": "Stone Trafo", + "icon": "StoneTrafo", + "cfgs": [ + { + "field": "face_", + "type": "face", + "title": "Face", + "desc": "Whether has some faces.", + "default": "(True, True, True, True, True, True)" + } + ] + }, + "params": [ + { + "field": "face", + "data": "face_" + } + ], + "vars": [], + "vertices": [], + "faces": [], + "instances": [ + { + "identifier": "raw_trafo", + "skip": "False", + "params": { + "trafo_texture": "\"BallStone\"", + "face": "face" + }, + "transform": "ident()" + } + ] + }, + { + "identifier": "paper_trafo", + "showcase": { + "title": "Paper Trafo", + "icon": "PaperTrafo", + "cfgs": [ + { + "field": "face_", + "type": "face", + "title": "Face", + "desc": "Whether has some faces.", + "default": "(True, True, True, True, True, True)" + } + ] + }, + "params": [ + { + "field": "face", + "data": "face_" + } + ], + "vars": [], + "vertices": [], + "faces": [], + "instances": [ + { + "identifier": "raw_trafo", + "skip": "False", + "params": { + "trafo_texture": "\"BallPaper\"", + "face": "face" + }, + "transform": "ident()" + } + ] + } +] \ No newline at end of file diff --git a/bbp_ng/raw_icons/floor/Flat.png b/bbp_ng/raw_icons/bme/Flat.png similarity index 100% rename from bbp_ng/raw_icons/floor/Flat.png rename to bbp_ng/raw_icons/bme/Flat.png diff --git a/bbp_ng/raw_icons/floor/Normal1x1.png b/bbp_ng/raw_icons/bme/Normal1x1.png similarity index 100% rename from bbp_ng/raw_icons/floor/Normal1x1.png rename to bbp_ng/raw_icons/bme/Normal1x1.png diff --git a/bbp_ng/raw_icons/floor/NormalBorder.png b/bbp_ng/raw_icons/bme/NormalBorder.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalBorder.png rename to bbp_ng/raw_icons/bme/NormalBorder.png diff --git a/bbp_ng/raw_icons/floor/NormalCrossroad.png b/bbp_ng/raw_icons/bme/NormalCrossroad.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalCrossroad.png rename to bbp_ng/raw_icons/bme/NormalCrossroad.png diff --git a/bbp_ng/raw_icons/floor/NormalFloor.png b/bbp_ng/raw_icons/bme/NormalFloor.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalFloor.png rename to bbp_ng/raw_icons/bme/NormalFloor.png diff --git a/bbp_ng/raw_icons/floor/NormalFloorTerminal.png b/bbp_ng/raw_icons/bme/NormalFloorTerminal.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalFloorTerminal.png rename to bbp_ng/raw_icons/bme/NormalFloorTerminal.png diff --git a/bbp_ng/raw_icons/floor/NormalInnerCorner.png b/bbp_ng/raw_icons/bme/NormalInnerCorner.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalInnerCorner.png rename to bbp_ng/raw_icons/bme/NormalInnerCorner.png diff --git a/bbp_ng/raw_icons/floor/NormalLConnector.png b/bbp_ng/raw_icons/bme/NormalLConnector.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalLConnector.png rename to bbp_ng/raw_icons/bme/NormalLConnector.png diff --git a/bbp_ng/raw_icons/floor/NormalOutterCorner.png b/bbp_ng/raw_icons/bme/NormalOutterCorner.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalOutterCorner.png rename to bbp_ng/raw_icons/bme/NormalOutterCorner.png diff --git a/bbp_ng/raw_icons/floor/NormalPlatform.png b/bbp_ng/raw_icons/bme/NormalPlatform.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalPlatform.png rename to bbp_ng/raw_icons/bme/NormalPlatform.png diff --git a/bbp_ng/raw_icons/floor/NormalSinkTransition.png b/bbp_ng/raw_icons/bme/NormalSinkTransition.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalSinkTransition.png rename to bbp_ng/raw_icons/bme/NormalSinkTransition.png diff --git a/bbp_ng/raw_icons/floor/NormalTConnector.png b/bbp_ng/raw_icons/bme/NormalTConnector.png similarity index 100% rename from bbp_ng/raw_icons/floor/NormalTConnector.png rename to bbp_ng/raw_icons/bme/NormalTConnector.png diff --git a/bbp_ng/raw_icons/floor/PaperTrafo.png b/bbp_ng/raw_icons/bme/PaperTrafo.png similarity index 100% rename from bbp_ng/raw_icons/floor/PaperTrafo.png rename to bbp_ng/raw_icons/bme/PaperTrafo.png diff --git a/bbp_ng/raw_icons/floor/RibbonBorder.png b/bbp_ng/raw_icons/bme/RibbonBorder.png similarity index 100% rename from bbp_ng/raw_icons/floor/RibbonBorder.png rename to bbp_ng/raw_icons/bme/RibbonBorder.png diff --git a/bbp_ng/raw_icons/floor/RibbonOutterCorner.png b/bbp_ng/raw_icons/bme/RibbonOutterCorner.png similarity index 100% rename from bbp_ng/raw_icons/floor/RibbonOutterCorner.png rename to bbp_ng/raw_icons/bme/RibbonOutterCorner.png diff --git a/bbp_ng/raw_icons/floor/RibbonPlatform.png b/bbp_ng/raw_icons/bme/RibbonPlatform.png similarity index 100% rename from bbp_ng/raw_icons/floor/RibbonPlatform.png rename to bbp_ng/raw_icons/bme/RibbonPlatform.png diff --git a/bbp_ng/raw_icons/floor/Sink1x1.png b/bbp_ng/raw_icons/bme/Sink1x1.png similarity index 100% rename from bbp_ng/raw_icons/floor/Sink1x1.png rename to bbp_ng/raw_icons/bme/Sink1x1.png diff --git a/bbp_ng/raw_icons/floor/SinkBorder.png b/bbp_ng/raw_icons/bme/SinkBorder.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkBorder.png rename to bbp_ng/raw_icons/bme/SinkBorder.png diff --git a/bbp_ng/raw_icons/floor/SinkCrossroad.png b/bbp_ng/raw_icons/bme/SinkCrossroad.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkCrossroad.png rename to bbp_ng/raw_icons/bme/SinkCrossroad.png diff --git a/bbp_ng/raw_icons/floor/SinkFloor.png b/bbp_ng/raw_icons/bme/SinkFloor.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkFloor.png rename to bbp_ng/raw_icons/bme/SinkFloor.png diff --git a/bbp_ng/raw_icons/floor/SinkFloorTerminal.png b/bbp_ng/raw_icons/bme/SinkFloorTerminal.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkFloorTerminal.png rename to bbp_ng/raw_icons/bme/SinkFloorTerminal.png diff --git a/bbp_ng/raw_icons/floor/SinkInnerCorner.png b/bbp_ng/raw_icons/bme/SinkInnerCorner.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkInnerCorner.png rename to bbp_ng/raw_icons/bme/SinkInnerCorner.png diff --git a/bbp_ng/raw_icons/floor/SinkLConnector.png b/bbp_ng/raw_icons/bme/SinkLConnector.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkLConnector.png rename to bbp_ng/raw_icons/bme/SinkLConnector.png diff --git a/bbp_ng/raw_icons/floor/SinkOutterCorner.png b/bbp_ng/raw_icons/bme/SinkOutterCorner.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkOutterCorner.png rename to bbp_ng/raw_icons/bme/SinkOutterCorner.png diff --git a/bbp_ng/raw_icons/floor/SinkPlatform.png b/bbp_ng/raw_icons/bme/SinkPlatform.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkPlatform.png rename to bbp_ng/raw_icons/bme/SinkPlatform.png diff --git a/bbp_ng/raw_icons/floor/SinkTConnector.png b/bbp_ng/raw_icons/bme/SinkTConnector.png similarity index 100% rename from bbp_ng/raw_icons/floor/SinkTConnector.png rename to bbp_ng/raw_icons/bme/SinkTConnector.png diff --git a/bbp_ng/raw_icons/floor/StoneTrafo.png b/bbp_ng/raw_icons/bme/StoneTrafo.png similarity index 100% rename from bbp_ng/raw_icons/floor/StoneTrafo.png rename to bbp_ng/raw_icons/bme/StoneTrafo.png diff --git a/bbp_ng/raw_icons/floor/WideCrossroad.png b/bbp_ng/raw_icons/bme/WideCrossroad.png similarity index 100% rename from bbp_ng/raw_icons/floor/WideCrossroad.png rename to bbp_ng/raw_icons/bme/WideCrossroad.png diff --git a/bbp_ng/raw_icons/floor/WideFloor.png b/bbp_ng/raw_icons/bme/WideFloor.png similarity index 100% rename from bbp_ng/raw_icons/floor/WideFloor.png rename to bbp_ng/raw_icons/bme/WideFloor.png diff --git a/bbp_ng/raw_icons/floor/WideFloorTerminal.png b/bbp_ng/raw_icons/bme/WideFloorTerminal.png similarity index 100% rename from bbp_ng/raw_icons/floor/WideFloorTerminal.png rename to bbp_ng/raw_icons/bme/WideFloorTerminal.png diff --git a/bbp_ng/raw_icons/floor/WideLConnector.png b/bbp_ng/raw_icons/bme/WideLConnector.png similarity index 100% rename from bbp_ng/raw_icons/floor/WideLConnector.png rename to bbp_ng/raw_icons/bme/WideLConnector.png diff --git a/bbp_ng/raw_icons/floor/WideTConnector.png b/bbp_ng/raw_icons/bme/WideTConnector.png similarity index 100% rename from bbp_ng/raw_icons/floor/WideTConnector.png rename to bbp_ng/raw_icons/bme/WideTConnector.png diff --git a/bbp_ng/raw_icons/floor/WoodTrafo.png b/bbp_ng/raw_icons/bme/WoodTrafo.png similarity index 100% rename from bbp_ng/raw_icons/floor/WoodTrafo.png rename to bbp_ng/raw_icons/bme/WoodTrafo.png diff --git a/bbp_ng/raw_icons/element/PC_TwoFlames.png b/bbp_ng/raw_icons/component/PC_TwoFlames.png similarity index 100% rename from bbp_ng/raw_icons/element/PC_TwoFlames.png rename to bbp_ng/raw_icons/component/PC_TwoFlames.png diff --git a/bbp_ng/raw_icons/element/PE_Balloon.png b/bbp_ng/raw_icons/component/PE_Balloon.png similarity index 100% rename from bbp_ng/raw_icons/element/PE_Balloon.png rename to bbp_ng/raw_icons/component/PE_Balloon.png diff --git a/bbp_ng/raw_icons/element/PR_Resetpoint.png b/bbp_ng/raw_icons/component/PR_Resetpoint.png similarity index 100% rename from bbp_ng/raw_icons/element/PR_Resetpoint.png rename to bbp_ng/raw_icons/component/PR_Resetpoint.png diff --git a/bbp_ng/raw_icons/element/PS_FourFlames.png b/bbp_ng/raw_icons/component/PS_FourFlames.png similarity index 100% rename from bbp_ng/raw_icons/element/PS_FourFlames.png rename to bbp_ng/raw_icons/component/PS_FourFlames.png diff --git a/bbp_ng/raw_icons/element/P_Ball_Paper.png b/bbp_ng/raw_icons/component/P_Ball_Paper.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Ball_Paper.png rename to bbp_ng/raw_icons/component/P_Ball_Paper.png diff --git a/bbp_ng/raw_icons/element/P_Ball_Stone.png b/bbp_ng/raw_icons/component/P_Ball_Stone.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Ball_Stone.png rename to bbp_ng/raw_icons/component/P_Ball_Stone.png diff --git a/bbp_ng/raw_icons/element/P_Ball_Wood.png b/bbp_ng/raw_icons/component/P_Ball_Wood.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Ball_Wood.png rename to bbp_ng/raw_icons/component/P_Ball_Wood.png diff --git a/bbp_ng/raw_icons/element/P_Box.png b/bbp_ng/raw_icons/component/P_Box.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Box.png rename to bbp_ng/raw_icons/component/P_Box.png diff --git a/bbp_ng/raw_icons/element/P_Dome.png b/bbp_ng/raw_icons/component/P_Dome.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Dome.png rename to bbp_ng/raw_icons/component/P_Dome.png diff --git a/bbp_ng/raw_icons/element/P_Extra_Life.png b/bbp_ng/raw_icons/component/P_Extra_Life.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Extra_Life.png rename to bbp_ng/raw_icons/component/P_Extra_Life.png diff --git a/bbp_ng/raw_icons/element/P_Extra_Point.png b/bbp_ng/raw_icons/component/P_Extra_Point.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Extra_Point.png rename to bbp_ng/raw_icons/component/P_Extra_Point.png diff --git a/bbp_ng/raw_icons/element/P_Modul_01.png b/bbp_ng/raw_icons/component/P_Modul_01.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_01.png rename to bbp_ng/raw_icons/component/P_Modul_01.png diff --git a/bbp_ng/raw_icons/element/P_Modul_03.png b/bbp_ng/raw_icons/component/P_Modul_03.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_03.png rename to bbp_ng/raw_icons/component/P_Modul_03.png diff --git a/bbp_ng/raw_icons/element/P_Modul_08.png b/bbp_ng/raw_icons/component/P_Modul_08.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_08.png rename to bbp_ng/raw_icons/component/P_Modul_08.png diff --git a/bbp_ng/raw_icons/element/P_Modul_17.png b/bbp_ng/raw_icons/component/P_Modul_17.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_17.png rename to bbp_ng/raw_icons/component/P_Modul_17.png diff --git a/bbp_ng/raw_icons/element/P_Modul_18.png b/bbp_ng/raw_icons/component/P_Modul_18.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_18.png rename to bbp_ng/raw_icons/component/P_Modul_18.png diff --git a/bbp_ng/raw_icons/element/P_Modul_19.png b/bbp_ng/raw_icons/component/P_Modul_19.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_19.png rename to bbp_ng/raw_icons/component/P_Modul_19.png diff --git a/bbp_ng/raw_icons/element/P_Modul_25.png b/bbp_ng/raw_icons/component/P_Modul_25.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_25.png rename to bbp_ng/raw_icons/component/P_Modul_25.png diff --git a/bbp_ng/raw_icons/element/P_Modul_26.png b/bbp_ng/raw_icons/component/P_Modul_26.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_26.png rename to bbp_ng/raw_icons/component/P_Modul_26.png diff --git a/bbp_ng/raw_icons/element/P_Modul_29.png b/bbp_ng/raw_icons/component/P_Modul_29.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_29.png rename to bbp_ng/raw_icons/component/P_Modul_29.png diff --git a/bbp_ng/raw_icons/element/P_Modul_30.png b/bbp_ng/raw_icons/component/P_Modul_30.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_30.png rename to bbp_ng/raw_icons/component/P_Modul_30.png diff --git a/bbp_ng/raw_icons/element/P_Modul_34.png b/bbp_ng/raw_icons/component/P_Modul_34.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_34.png rename to bbp_ng/raw_icons/component/P_Modul_34.png diff --git a/bbp_ng/raw_icons/element/P_Modul_37.png b/bbp_ng/raw_icons/component/P_Modul_37.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_37.png rename to bbp_ng/raw_icons/component/P_Modul_37.png diff --git a/bbp_ng/raw_icons/element/P_Modul_41.png b/bbp_ng/raw_icons/component/P_Modul_41.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Modul_41.png rename to bbp_ng/raw_icons/component/P_Modul_41.png diff --git a/bbp_ng/raw_icons/element/P_Trafo_Paper.png b/bbp_ng/raw_icons/component/P_Trafo_Paper.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Trafo_Paper.png rename to bbp_ng/raw_icons/component/P_Trafo_Paper.png diff --git a/bbp_ng/raw_icons/element/P_Trafo_Stone.png b/bbp_ng/raw_icons/component/P_Trafo_Stone.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Trafo_Stone.png rename to bbp_ng/raw_icons/component/P_Trafo_Stone.png diff --git a/bbp_ng/raw_icons/element/P_Trafo_Wood.png b/bbp_ng/raw_icons/component/P_Trafo_Wood.png similarity index 100% rename from bbp_ng/raw_icons/element/P_Trafo_Wood.png rename to bbp_ng/raw_icons/component/P_Trafo_Wood.png