@tool extends EditorImportPlugin const VoxImporterCommon = preload("./vox-importer-common.gd"); func _init(): print('MagicaVoxel MeshLibrary Importer: Ready') func _get_importer_name(): return 'MagicaVoxel.With.Extensions.To.MeshLibrary' func _get_visible_name(): return 'MagicaVoxel MeshLibrary' func _get_recognized_extensions(): return [ 'vox' ] func _get_resource_type(): return 'MeshLibrary' func _get_save_extension(): return 'meshlib' func _get_preset_count(): return 0 func _get_preset_name(_preset): return 'Default' func _get_import_order(): return 0 func _get_priority() -> float: return 1.0 func _get_import_options(path, preset_index): return [ { 'name': 'Scale', 'default_value': 0.1 }, { 'name': 'GreedyMeshGenerator', 'default_value': true }, { 'name': 'SnapToGround', 'default_value': false } ] func _get_option_visibility(path, option, options): return true func _import(source_path, destination_path, options, _platforms, _gen_files): var meshes = VoxImporterCommon.new().import(source_path, destination_path, options, _platforms, _gen_files); var meshLib = MeshLibrary.new() for mesh in meshes: var itemId = meshLib.get_last_unused_item_id() meshLib.create_item(itemId) meshLib.set_item_mesh(itemId, mesh) var full_path = "%s.%s" % [ destination_path, _get_save_extension() ] return ResourceSaver.save(meshLib, full_path)