diff --git a/package.json b/package.json index cf8ef866..08e53c6e 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "title": "Animated Java", "icon": "icon.svg", "description": "A Blockbench plugin that makes complex animation a breeze in Minecraft: Java Edition.", - "version": "1.7.2", + "version": "1.7.3", "min_blockbench_version": "4.12.0", "variant": "desktop", "tags": [ diff --git a/src/pluginPackage/changelog.json b/src/pluginPackage/changelog.json index c987e8ec..334016c8 100644 --- a/src/pluginPackage/changelog.json +++ b/src/pluginPackage/changelog.json @@ -191,5 +191,19 @@ ] } ] + }, + "1.7.3": { + "title": "v1.7.3", + "author": "Titus Evans (SnaveSutit)", + "date": "2025-05-08", + "categories": [ + { + "title": "Fixes", + "list": [ + "Fixed adding cameras to a rig causing the data entity to dismount root.", + "Make variant keyframes reset to default if their variant doesn't exist anymore" + ] + } + ] } } diff --git a/src/systems/datapackCompiler/1.20.4/animation.mcb b/src/systems/datapackCompiler/1.20.4/animation.mcb index f32e3b39..a8a2ca9d 100644 --- a/src/systems/datapackCompiler/1.20.4/animation.mcb +++ b/src/systems/datapackCompiler/1.20.4/animation.mcb @@ -548,7 +548,7 @@ dir <%export_namespace%> { type=<%locator.config.entity_type%>, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_LOCATOR_NAMED(export_namespace, locator.storage_name)%>, \ - distance=..<%locator.max_distance + 1%> \ + distance=..<%Math.ceil(locator.max_distance)%> \ ] \ run block as_locator/<%locator.path_name%> { # run block ../as_locator/<%locator.path_name%> { @@ -582,9 +582,10 @@ dir <%export_namespace%> { type=minecraft:item_display, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_CAMERA_NAMED(export_namespace, camera.storage_name)%>, \ - distance=..<%camera.max_distance + 1%> \ + distance=..<%Math.ceil(camera.max_distance)%> \ ] \ - run block ../as_camera/<%camera.path_name%> { + run block as_camera/<%camera.path_name%> { + # run block ../as_camera/<%camera.path_name%> { tag @s remove <%TAGS.NEW()%> function *global/internal/gu/convert_uuid_array_to_string tp @s \ @@ -807,13 +808,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.20.4/static.mcb b/src/systems/datapackCompiler/1.20.4/static.mcb index a68f25e6..cf053d2c 100644 --- a/src/systems/datapackCompiler/1.20.4/static.mcb +++ b/src/systems/datapackCompiler/1.20.4/static.mcb @@ -361,13 +361,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.20.5/animation.mcb b/src/systems/datapackCompiler/1.20.5/animation.mcb index 737c565c..556d9b69 100644 --- a/src/systems/datapackCompiler/1.20.5/animation.mcb +++ b/src/systems/datapackCompiler/1.20.5/animation.mcb @@ -548,7 +548,7 @@ dir <%export_namespace%> { type=<%locator.config.entity_type%>, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_LOCATOR_NAMED(export_namespace, locator.storage_name)%>, \ - distance=..<%locator.max_distance + 1%> \ + distance=..<%Math.ceil(locator.max_distance)%> \ ] \ run block as_locator/<%locator.path_name%> { # run block ../as_locator/<%locator.path_name%> { @@ -582,9 +582,10 @@ dir <%export_namespace%> { type=minecraft:item_display, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_CAMERA_NAMED(export_namespace, camera.storage_name)%>, \ - distance=..<%camera.max_distance + 1%> \ + distance=..<%Math.ceil(camera.max_distance)%> \ ] \ - run block ../as_camera/<%camera.path_name%> { + run block as_camera/<%camera.path_name%> { + # run block ../as_camera/<%camera.path_name%> { tag @s remove <%TAGS.NEW()%> function *global/internal/gu/convert_uuid_array_to_string tp @s \ @@ -807,13 +808,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.20.5/static.mcb b/src/systems/datapackCompiler/1.20.5/static.mcb index 6b474dd2..e6d4d079 100644 --- a/src/systems/datapackCompiler/1.20.5/static.mcb +++ b/src/systems/datapackCompiler/1.20.5/static.mcb @@ -361,13 +361,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.21.2/animation.mcb b/src/systems/datapackCompiler/1.21.2/animation.mcb index 694adb9f..455988f5 100644 --- a/src/systems/datapackCompiler/1.21.2/animation.mcb +++ b/src/systems/datapackCompiler/1.21.2/animation.mcb @@ -548,7 +548,7 @@ dir <%export_namespace%> { type=<%locator.config.entity_type%>, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_LOCATOR_NAMED(export_namespace, locator.storage_name)%>, \ - distance=..<%locator.max_distance + 1%> \ + distance=..<%Math.ceil(locator.max_distance)%> \ ] \ run block as_locator/<%locator.path_name%> { # run block ../as_locator/<%locator.path_name%> { @@ -582,9 +582,10 @@ dir <%export_namespace%> { type=minecraft:item_display, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_CAMERA_NAMED(export_namespace, camera.storage_name)%>, \ - distance=..<%camera.max_distance + 1%> \ + distance=..<%Math.ceil(camera.max_distance)%> \ ] \ - run block ../as_camera/<%camera.path_name%> { + run block as_camera/<%camera.path_name%> { + # run block ../as_camera/<%camera.path_name%> { tag @s remove <%TAGS.NEW()%> function *global/internal/gu/convert_uuid_array_to_string tp @s \ @@ -807,13 +808,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.21.2/static.mcb b/src/systems/datapackCompiler/1.21.2/static.mcb index 5e93d120..c9dc5c8a 100644 --- a/src/systems/datapackCompiler/1.21.2/static.mcb +++ b/src/systems/datapackCompiler/1.21.2/static.mcb @@ -361,13 +361,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.21.4/animation.mcb b/src/systems/datapackCompiler/1.21.4/animation.mcb index 4ad4b9b6..a088912d 100644 --- a/src/systems/datapackCompiler/1.21.4/animation.mcb +++ b/src/systems/datapackCompiler/1.21.4/animation.mcb @@ -548,7 +548,7 @@ dir <%export_namespace%> { type=<%locator.config.entity_type%>, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_LOCATOR_NAMED(export_namespace, locator.storage_name)%>, \ - distance=..<%locator.max_distance + 1%> \ + distance=..<%Math.ceil(locator.max_distance)%> \ ] \ run block as_locator/<%locator.path_name%> { # run block ../as_locator/<%locator.path_name%> { @@ -582,9 +582,10 @@ dir <%export_namespace%> { type=minecraft:item_display, \ tag=<%TAGS.NEW()%>, \ tag=<%TAGS.PROJECT_CAMERA_NAMED(export_namespace, camera.storage_name)%>, \ - distance=..<%camera.max_distance + 1%> \ + distance=..<%Math.ceil(camera.max_distance)%> \ ] \ - run block ../as_camera/<%camera.path_name%> { + run block as_camera/<%camera.path_name%> { + # run block ../as_camera/<%camera.path_name%> { tag @s remove <%TAGS.NEW()%> function *global/internal/gu/convert_uuid_array_to_string tp @s \ @@ -807,13 +808,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.21.4/static.mcb b/src/systems/datapackCompiler/1.21.4/static.mcb index b611a990..ee45fba4 100644 --- a/src/systems/datapackCompiler/1.21.4/static.mcb +++ b/src/systems/datapackCompiler/1.21.4/static.mcb @@ -361,13 +361,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.21.5/animation.mcb b/src/systems/datapackCompiler/1.21.5/animation.mcb index 237b9e88..afb4ea0a 100644 --- a/src/systems/datapackCompiler/1.21.5/animation.mcb +++ b/src/systems/datapackCompiler/1.21.5/animation.mcb @@ -808,13 +808,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/1.21.5/static.mcb b/src/systems/datapackCompiler/1.21.5/static.mcb index b611a990..ee45fba4 100644 --- a/src/systems/datapackCompiler/1.21.5/static.mcb +++ b/src/systems/datapackCompiler/1.21.5/static.mcb @@ -361,13 +361,19 @@ dir <%export_namespace%> { on passengers \ if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] \ run block zzz/as_camera/as_data { {name: $(name)} - data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name) + $data modify storage aj:temp args.uuid set from entity @s data.cameras.$(name).uuid scoreboard players set #aj.check <%OBJECTIVES.I()%> 0 block execute_as_uuid { with storage aj:temp args $execute as $(uuid) at @s run $(command) scoreboard players set #aj.check <%OBJECTIVES.I()%> 1 } - execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run block if_failed { + block check_existence { with storage aj:temp args + $execute at $(uuid) run scoreboard players set #aj.check <%OBJECTIVES.I()%> 2 + } + execute if score #aj.check <%OBJECTIVES.I()%> matches 0 run tellraw @a <%TELLRAW.CAMERA_NOT_FOUND_ENTITY()%> + execute if score #aj.check <%OBJECTIVES.I()%> matches 2 run tellraw @a <%TELLRAW.COMMAND_RUN_FAILED()%> + } } } } diff --git a/src/systems/datapackCompiler/index.ts b/src/systems/datapackCompiler/index.ts index 7765baa1..b926e9cf 100644 --- a/src/systems/datapackCompiler/index.ts +++ b/src/systems/datapackCompiler/index.ts @@ -647,6 +647,14 @@ namespace TELLRAW { }, TELLRAW_SUFFIX(), ]) + export const COMMAND_RUN_FAILED = () => + new JsonText([ + TELLRAW_PREFIX(), + { text: 'Command ', color: 'red' }, + { nbt: 'args.command', storage: 'aj:temp', color: 'aqua' }, + { text: ' run failed!', color: 'red' }, + TELLRAW_SUFFIX(), + ]) } async function generateRootEntityPassengers( diff --git a/test-packs/1.20.4/blueprints/ajbooth_witch_broom.ajblueprint b/test-packs/1.20.4/blueprints/ajbooth_witch_broom.ajblueprint new file mode 100644 index 00000000..1c979ad7 --- /dev/null +++ b/test-packs/1.20.4/blueprints/ajbooth_witch_broom.ajblueprint @@ -0,0 +1,2728 @@ +{ + "meta": { + "format": "animated_java_blueprint", + "format_version": "1.7.3", + "uuid": "5603b13d-d160-8027-d740-d40383fe7c83", + "save_location": "D:\\github-repos\\animated-java\\animated-java\\test-packs\\1.20.4\\blueprints\\ajbooth_witch_broom.ajblueprint", + "last_used_export_namespace": "ajbooth_witch_broom" + }, + "blueprint_settings": { + "export_namespace": "ajbooth_witch_broom", + "show_bounding_box": false, + "auto_bounding_box": true, + "bounding_box": [48, 48], + "enable_plugin_mode": false, + "resource_pack_export_mode": "raw", + "data_pack_export_mode": "raw", + "target_minecraft_versions": ["1.20.4"], + "display_item": "minecraft:white_dye", + "custom_model_data_offset": 0, + "enable_advanced_resource_pack_settings": false, + "resource_pack": "../resources", + "enable_advanced_data_pack_settings": false, + "data_pack": "../datapacks/animated_java", + "summon_commands": "", + "remove_commands": "", + "ticking_commands": "", + "interpolation_duration": 1, + "teleportation_duration": 1, + "use_storage_for_animation": false, + "show_function_errors": false, + "show_outdated_warning": false, + "baked_animations": true, + "json_file": "", + "target_minecraft_version": "1.21.4", + "enable_advanced_resource_pack_folders": false, + "display_item_path": "", + "model_folder": "", + "texture_folder": "" + }, + "resolution": { + "width": 64, + "height": 64 + }, + "elements": [ + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4, 12, -2], + "to": [4, 24, 2], + "autouv": 0, + "color": 0, + "origin": [0, 0, 0], + "uv_offset": [16, 16], + "faces": { + "north": { + "uv": [20, 20, 28, 32], + "texture": 0 + }, + "east": { + "uv": [16, 20, 20, 32], + "texture": 0 + }, + "south": { + "uv": [32, 20, 40, 32], + "texture": 0 + }, + "west": { + "uv": [28, 20, 32, 32], + "texture": 0 + }, + "up": { + "uv": [28, 20, 20, 16], + "texture": 0 + }, + "down": { + "uv": [36, 16, 28, 20], + "texture": 0 + } + }, + "type": "cube", + "uuid": "45d82418-2321-4f24-9a63-b5bc2057e800" + }, + { + "name": "Body Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4, 12, -2], + "to": [4, 24, 2], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [0, 0, 0], + "uv_offset": [16, 32], + "faces": { + "north": { + "uv": [20, 36, 28, 48], + "texture": 0 + }, + "east": { + "uv": [16, 36, 20, 48], + "texture": 0 + }, + "south": { + "uv": [32, 36, 40, 48], + "texture": 0 + }, + "west": { + "uv": [28, 36, 32, 48], + "texture": 0 + }, + "up": { + "uv": [28, 36, 20, 32], + "texture": 0 + }, + "down": { + "uv": [36, 32, 28, 36], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37dca7a9-789b-3984-4d16-fdaa3b292048" + }, + { + "name": "Body Layer Inverted", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [4, 24, 2], + "to": [-4, 12, -2], + "autouv": 0, + "color": 0, + "inflate": -0.25, + "origin": [8, 12, 4], + "uv_offset": [16, 32], + "faces": { + "north": { + "uv": [32, 48, 40, 36], + "texture": 0 + }, + "east": { + "uv": [28, 48, 32, 36], + "texture": 0 + }, + "south": { + "uv": [20, 48, 28, 36], + "texture": 0 + }, + "west": { + "uv": [16, 48, 20, 36], + "texture": 0 + }, + "up": { + "uv": [28, 32, 36, 36], + "texture": 0 + }, + "down": { + "uv": [20, 36, 28, 32], + "texture": 0 + } + }, + "type": "cube", + "uuid": "53130d68-3a4f-7a65-51bc-882312407cb7" + }, + { + "name": "Right Arm", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [4, 12, -2.05], + "to": [7, 24, 1.95], + "autouv": 0, + "color": 0, + "origin": [0, 0, -0.05], + "uv_offset": [40, 16], + "faces": { + "north": { + "uv": [44, 20, 47, 32], + "texture": 0 + }, + "east": { + "uv": [40, 20, 44, 32], + "texture": 0 + }, + "south": { + "uv": [51, 20, 54, 32], + "texture": 0 + }, + "west": { + "uv": [47, 20, 51, 32], + "texture": 0 + }, + "up": { + "uv": [47, 20, 44, 16], + "texture": 0 + }, + "down": { + "uv": [50, 16, 47, 20], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a22f9634-063d-97f7-86c5-24256821bb96" + }, + { + "name": "Right Arm Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [4, 12, -2.05], + "to": [7, 24, 1.95], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [0, 0, -0.05], + "uv_offset": [40, 32], + "faces": { + "north": { + "uv": [44, 36, 47, 48], + "texture": 0 + }, + "east": { + "uv": [40, 36, 44, 48], + "texture": 0 + }, + "south": { + "uv": [51, 36, 54, 48], + "texture": 0 + }, + "west": { + "uv": [47, 36, 51, 48], + "texture": 0 + }, + "up": { + "uv": [47, 36, 44, 32], + "texture": 0 + }, + "down": { + "uv": [50, 32, 47, 36], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6b4537cd-19f5-52e2-fa6a-4b8cd831ff30" + }, + { + "name": "Right Arm Layer Inverted", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [7, 24, 1.95], + "to": [4, 12, -2.05], + "autouv": 0, + "color": 0, + "inflate": -0.25, + "origin": [4, 12, 3.95], + "uv_offset": [40, 32], + "faces": { + "north": { + "uv": [51, 48, 54, 36], + "texture": 0 + }, + "east": { + "uv": [47, 48, 51, 36], + "texture": 0 + }, + "south": { + "uv": [44, 48, 47, 36], + "texture": 0 + }, + "west": { + "uv": [40, 48, 44, 36], + "texture": 0 + }, + "up": { + "uv": [47, 32, 50, 36], + "texture": 0 + }, + "down": { + "uv": [44, 36, 47, 32], + "texture": 0 + } + }, + "type": "cube", + "uuid": "db64cc71-2153-401a-dd3c-b1cea98adebe" + }, + { + "name": "Left Arm", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-7, 12, -2.05], + "to": [-4, 24, 1.95], + "autouv": 0, + "color": 0, + "origin": [0, 0, -0.05], + "uv_offset": [32, 48], + "faces": { + "north": { + "uv": [36, 52, 39, 64], + "texture": 0 + }, + "east": { + "uv": [32, 52, 36, 64], + "texture": 0 + }, + "south": { + "uv": [43, 52, 46, 64], + "texture": 0 + }, + "west": { + "uv": [39, 52, 43, 64], + "texture": 0 + }, + "up": { + "uv": [39, 52, 36, 48], + "texture": 0 + }, + "down": { + "uv": [42, 48, 39, 52], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7ff42713-1443-789a-5165-dbef83209ad8" + }, + { + "name": "Left Arm Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-7, 12, -2.05], + "to": [-4, 24, 1.95], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [0, 0, -0.05], + "uv_offset": [48, 48], + "faces": { + "north": { + "uv": [52, 52, 55, 64], + "texture": 0 + }, + "east": { + "uv": [48, 52, 52, 64], + "texture": 0 + }, + "south": { + "uv": [59, 52, 62, 64], + "texture": 0 + }, + "west": { + "uv": [55, 52, 59, 64], + "texture": 0 + }, + "up": { + "uv": [55, 52, 52, 48], + "texture": 0 + }, + "down": { + "uv": [59, 48, 55, 52], + "texture": 0 + } + }, + "type": "cube", + "uuid": "693f4ac0-3774-4a83-c93b-2a2951987a65" + }, + { + "name": "Left Arm Layer Inverted", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4, 24, 1.95], + "to": [-7, 12, -2.05], + "autouv": 0, + "color": 0, + "inflate": -0.25, + "origin": [4, 12, 3.95], + "uv_offset": [48, 48], + "faces": { + "north": { + "uv": [59, 64, 62, 52], + "texture": 0 + }, + "east": { + "uv": [55, 64, 59, 52], + "texture": 0 + }, + "south": { + "uv": [52, 64, 55, 52], + "texture": 0 + }, + "west": { + "uv": [48, 64, 52, 52], + "texture": 0 + }, + "up": { + "uv": [55, 48, 58, 52], + "texture": 0 + }, + "down": { + "uv": [52, 52, 55, 48], + "texture": 0 + } + }, + "type": "cube", + "uuid": "55a3b67f-8f28-db5a-8b77-62ce1e10fcc4" + }, + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4, 24, -4], + "to": [4, 32, 4], + "autouv": 0, + "color": 0, + "origin": [0, 0, 0], + "faces": { + "north": { + "uv": [8, 8, 16, 16], + "texture": 0 + }, + "east": { + "uv": [0, 8, 8, 16], + "texture": 0 + }, + "south": { + "uv": [24, 8, 32, 16], + "texture": 0 + }, + "west": { + "uv": [16, 8, 24, 16], + "texture": 0 + }, + "up": { + "uv": [16, 8, 8, 0], + "texture": 0 + }, + "down": { + "uv": [24, 0, 16, 8], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a20434d-4a80-a43d-b8f4-c747f469e12b" + }, + { + "name": "Hat Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4, 24, -4], + "to": [4, 32, 4], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [0, 0.5, 0], + "uv_offset": [32, 0], + "faces": { + "north": { + "uv": [40, 8, 48, 16], + "texture": 0 + }, + "east": { + "uv": [32, 8, 40, 16], + "texture": 0 + }, + "south": { + "uv": [56, 8, 64, 16], + "texture": 0 + }, + "west": { + "uv": [48, 8, 56, 16], + "texture": 0 + }, + "up": { + "uv": [48, 8, 40, 0], + "texture": 0 + }, + "down": { + "uv": [56, 0, 48, 8], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f9c88722-d723-f7de-ce1d-40d630c00049" + }, + { + "name": "Hat Layer Inverted", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [4, 32, 4], + "to": [-4, 24, -4], + "autouv": 0, + "color": 0, + "inflate": -0.5, + "origin": [8, 8.5, 8], + "uv_offset": [32, 0], + "faces": { + "north": { + "uv": [56, 16, 64, 8], + "texture": 0 + }, + "east": { + "uv": [48, 16, 56, 8], + "texture": 0 + }, + "south": { + "uv": [40, 16, 48, 8], + "texture": 0 + }, + "west": { + "uv": [32, 16, 40, 8], + "texture": 0 + }, + "up": { + "uv": [48, 0, 56, 8], + "texture": 0 + }, + "down": { + "uv": [40, 8, 48, 0], + "texture": 0 + } + }, + "type": "cube", + "uuid": "55fb5425-1275-3a16-70a7-4b6276ac5999" + }, + { + "name": "Right Leg", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-0.1, 0, -2], + "to": [3.9, 12, 2], + "autouv": 0, + "color": 0, + "origin": [0, 0, 0], + "uv_offset": [0, 16], + "faces": { + "north": { + "uv": [4, 20, 8, 32], + "texture": 0 + }, + "east": { + "uv": [0, 20, 4, 32], + "texture": 0 + }, + "south": { + "uv": [12, 20, 16, 32], + "texture": 0 + }, + "west": { + "uv": [8, 20, 12, 32], + "texture": 0 + }, + "up": { + "uv": [8, 20, 4, 16], + "texture": 0 + }, + "down": { + "uv": [12, 16, 8, 20], + "texture": 0 + } + }, + "type": "cube", + "uuid": "73b9fdbc-c2f9-e43c-ef6d-bc159d183193" + }, + { + "name": "Right Leg Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-0.1, 0, -2], + "to": [3.9, 12, 2], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [0, 0, 0], + "uv_offset": [0, 32], + "faces": { + "north": { + "uv": [4, 36, 8, 48], + "texture": 0 + }, + "east": { + "uv": [0, 36, 4, 48], + "texture": 0 + }, + "south": { + "uv": [12, 36, 16, 48], + "texture": 0 + }, + "west": { + "uv": [8, 36, 12, 48], + "texture": 0 + }, + "up": { + "uv": [8, 36, 4, 32], + "texture": 0 + }, + "down": { + "uv": [12, 32, 8, 36], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac495b61-fa9f-44f0-7d4c-30799a96a4c8" + }, + { + "name": "Right Leg Layer Inverted", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [3.9, 12, 2], + "to": [-0.1, 0, -2], + "autouv": 0, + "color": 0, + "inflate": -0.25, + "origin": [4, 12, 4], + "uv_offset": [0, 32], + "faces": { + "north": { + "uv": [12, 48, 16, 36], + "texture": 0 + }, + "east": { + "uv": [8, 48, 12, 36], + "texture": 0 + }, + "south": { + "uv": [4, 48, 8, 36], + "texture": 0 + }, + "west": { + "uv": [0, 48, 4, 36], + "texture": 0 + }, + "up": { + "uv": [8, 32, 12, 36], + "texture": 0 + }, + "down": { + "uv": [4, 36, 8, 32], + "texture": 0 + } + }, + "type": "cube", + "uuid": "426f5735-a6d5-8fdd-78de-06675b178e88" + }, + { + "name": "Left Leg", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-3.9, 0, -2.05], + "to": [0.1, 12, 1.95], + "autouv": 0, + "color": 0, + "origin": [0, 0, -0.05], + "uv_offset": [16, 48], + "faces": { + "north": { + "uv": [20, 52, 24, 64], + "texture": 0 + }, + "east": { + "uv": [16, 52, 20, 64], + "texture": 0 + }, + "south": { + "uv": [28, 52, 32, 64], + "texture": 0 + }, + "west": { + "uv": [24, 52, 28, 64], + "texture": 0 + }, + "up": { + "uv": [24, 52, 20, 48], + "texture": 0 + }, + "down": { + "uv": [28, 48, 24, 52], + "texture": 0 + } + }, + "type": "cube", + "uuid": "de1c2115-133b-e2de-0275-6d784aee8ecc" + }, + { + "name": "Left Leg Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-3.9, 0, -2.05], + "to": [0.1, 12, 1.95], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [0, 0, -0.05], + "uv_offset": [0, 48], + "faces": { + "north": { + "uv": [4, 52, 8, 64], + "texture": 0 + }, + "east": { + "uv": [0, 52, 4, 64], + "texture": 0 + }, + "south": { + "uv": [12, 52, 16, 64], + "texture": 0 + }, + "west": { + "uv": [8, 52, 12, 64], + "texture": 0 + }, + "up": { + "uv": [8, 52, 4, 48], + "texture": 0 + }, + "down": { + "uv": [12, 48, 8, 52], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0185a3b1-67bf-38b5-373f-6a6facb044bc" + }, + { + "name": "Left Leg Layer Inverted", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [0.1, 12, 1.95], + "to": [-3.9, 0, -2.05], + "autouv": 0, + "color": 0, + "inflate": -0.25, + "origin": [4, 12, 3.95], + "uv_offset": [0, 48], + "faces": { + "north": { + "uv": [12, 64, 16, 52], + "texture": 0 + }, + "east": { + "uv": [8, 64, 12, 52], + "texture": 0 + }, + "south": { + "uv": [4, 64, 8, 52], + "texture": 0 + }, + "west": { + "uv": [0, 64, 4, 52], + "texture": 0 + }, + "up": { + "uv": [8, 48, 12, 52], + "texture": 0 + }, + "down": { + "uv": [4, 52, 8, 48], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da1792fe-8974-f1bb-88bd-262e759f1175" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1, 10, -16], + "to": [1, 12, 22], + "autouv": 0, + "color": 3, + "origin": [0, 10, -3], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [4, 4, 42, 6], + "texture": 2 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [42, 2, 4, 0], + "texture": 2 + }, + "up": { + "uv": [42, 4, 4, 2], + "rotation": 90, + "texture": 2 + }, + "down": { + "uv": [4, 6, 42, 8], + "rotation": 90, + "texture": 2 + } + }, + "type": "cube", + "uuid": "63947e2c-8407-1963-bf31-8eee08aee500" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-3.5, 7.5, 22], + "to": [3.5, 14.5, 32], + "autouv": 0, + "color": 3, + "origin": [-0.5, 10.5, 37], + "uv_offset": [28, 16], + "faces": { + "north": { + "uv": [38, 26, 45, 33], + "texture": 2 + }, + "east": { + "uv": [28, 26, 38, 33], + "texture": 2 + }, + "south": { + "uv": [55, 26, 62, 33], + "texture": 2 + }, + "west": { + "uv": [45, 26, 55, 33], + "texture": 2 + }, + "up": { + "uv": [45, 26, 38, 16], + "texture": 2 + }, + "down": { + "uv": [52, 16, 45, 26], + "texture": 2 + } + }, + "type": "cube", + "uuid": "53f25d61-a8ce-e2c9-4ccb-32f0b688f827" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5, 13, -8.05], + "to": [6, 14, 3.95], + "autouv": 0, + "color": 1, + "origin": [5, 12, -2.05], + "faces": { + "north": { + "uv": [0, 0, 1, 1], + "texture": 2 + }, + "east": { + "uv": [0, 0, 1, 12], + "rotation": 90, + "texture": 2 + }, + "south": { + "uv": [0, 0, 1, 1], + "texture": 2 + }, + "west": { + "uv": [0, 12, 1, 0], + "rotation": 90, + "texture": 2 + }, + "up": { + "uv": [0, 0, 1, 12], + "texture": 2 + }, + "down": { + "uv": [0, 12, 1, 0], + "texture": 2 + } + }, + "type": "cube", + "uuid": "164667fe-1cad-e25a-efd1-1a3716dfbbf9" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5.474, 14.95148, -12.73926], + "to": [5.524, 15.95148, -7.73926], + "autouv": 0, + "color": 1, + "rotation": [-22.5, 0, 0], + "origin": [5.5, 14.95148, -7.73926], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [0, 4, 20, 8], + "texture": 1 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [20, 4, 0, 8], + "texture": 1 + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "9b9e03f6-1324-ab71-11bc-b08061b7712a" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5.399, 13, -12.55], + "to": [5.599, 14, -7.55], + "autouv": 0, + "color": 1, + "rotation": [22.5, 0, 0], + "origin": [5.5, 13.5, -12.55], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [36, 4, 16, 8], + "texture": 1 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [16, 4, 36, 8], + "texture": 1 + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "e39f2736-2736-e6fb-c569-4a6f55c55aaa" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5.449, 11.12464, -8.12194], + "to": [5.549, 17.12464, -7.12194], + "autouv": 0, + "color": 1, + "rotation": [-22.5, 0, 0], + "origin": [5.5, 11.12464, -8.12194], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "east": { + "uv": [32, 4, 56, 8], + "rotation": 270, + "texture": 1 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [32, 4, 56, 8], + "rotation": 270, + "texture": 1 + }, + "up": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "c7c670d3-c3e7-f1c1-a857-0bfeed6be33d" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5.424, 9.87536, -8.12194], + "to": [5.574, 15.87536, -7.12194], + "autouv": 0, + "color": 1, + "rotation": [22.5, 0, 0], + "origin": [5.5, 15.87536, -8.12194], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "east": { + "uv": [48, 0, 24, 4], + "rotation": 90, + "texture": 1 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [48, 0, 24, 4], + "rotation": 90, + "texture": 1 + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "935a8c82-6b9e-cf70-7360-5ad0197622f7" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5.499, 13.0506, -10.49417], + "to": [5.499, 17.0506, -9.49417], + "autouv": 0, + "color": 1, + "origin": [5.5, 20.5506, -9.49417], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "east": { + "uv": [16, 0, 0, 4], + "rotation": 270, + "texture": 1 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [16, 0, 0, 4], + "rotation": 270, + "texture": 1 + }, + "up": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "43115d9e-1e6c-7684-030b-05e980fb6498" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [6, 10, -6.05], + "to": [6, 13, 3.95], + "autouv": 0, + "color": 1, + "origin": [5, 11, -0.05], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [1, 2, 4, 12], + "rotation": 90, + "texture": 2 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [1, 12, 4, 2], + "rotation": 90, + "texture": 2 + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "94f914ad-eb20-d7bf-0e51-4253cf38d09a" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1.5, 9.5, -19.25], + "to": [1.5, 12.5, -16.25], + "autouv": 0, + "color": 0, + "origin": [-0.5, 9.5, -17.25], + "uv_offset": [42, 0], + "faces": { + "north": { + "uv": [45, 3, 48, 6], + "texture": 2 + }, + "east": { + "uv": [42, 3, 45, 6], + "texture": 2 + }, + "south": { + "uv": [51, 3, 54, 6], + "texture": 2 + }, + "west": { + "uv": [48, 3, 51, 6], + "texture": 2 + }, + "up": { + "uv": [48, 3, 45, 0], + "texture": 2 + }, + "down": { + "uv": [51, 0, 48, 3], + "texture": 2 + } + }, + "type": "cube", + "uuid": "0bb3b56e-f47f-5c47-14fe-f6dd3de3a639" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1, 6, -16], + "to": [-1, 10, 22], + "autouv": 0, + "color": 3, + "origin": [0, 10, -3], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [4, 8, 42, 12], + "texture": 2 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [42, 8, 4, 12], + "texture": 2 + }, + "up": { + "uv": [0, 0, 0, 0], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "c0c36880-9cd7-a3e3-749b-2ef00dbd1051" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [1, 6, -16], + "to": [1, 10, 22], + "autouv": 0, + "color": 3, + "origin": [2, 10, -3], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [4, 12, 42, 16], + "texture": 2 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [42, 12, 4, 16], + "texture": 2 + }, + "up": { + "uv": [0, 0, 0, 0], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "0cb22105-c1b9-086d-f0d9-e087c1a1139f" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [1.5, 12.5, -16.25], + "to": [-1.5, 9.5, -19.25], + "autouv": 0, + "color": 0, + "inflate": -0.25, + "origin": [2.5, 12.5, -14.25], + "uv_offset": [54, 6], + "faces": { + "north": { + "uv": [54, 0, 57, 3], + "texture": 2 + }, + "east": { + "uv": [54, 0, 57, 3], + "texture": 2 + }, + "south": { + "uv": [54, 0, 57, 3], + "texture": 2 + }, + "west": { + "uv": [54, 0, 57, 3], + "texture": 2 + }, + "up": { + "uv": [54, 0, 57, 3], + "texture": 2 + }, + "down": { + "uv": [54, 0, 57, 3], + "texture": 2 + } + }, + "type": "cube", + "uuid": "7bee31f4-0f08-299a-aaa0-8177d8078dff" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [0, 11, 11], + "to": [2, 13, 13], + "autouv": 0, + "color": 7, + "origin": [1, 12, 12], + "uv_offset": [12, 19], + "faces": { + "north": { + "uv": [14, 21, 16, 23], + "texture": 2 + }, + "east": { + "uv": [12, 21, 14, 23], + "texture": 2 + }, + "south": { + "uv": [18, 21, 20, 23], + "texture": 2 + }, + "west": { + "uv": [16, 21, 18, 23], + "texture": 2 + }, + "up": { + "uv": [16, 21, 14, 19], + "texture": 2 + }, + "down": { + "uv": [18, 19, 16, 21], + "texture": 2 + } + }, + "type": "cube", + "uuid": "6fef4f90-1eea-a2f3-84ac-19fa1edeba34" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-2.5, 12, 12], + "to": [2.5, 16, 17], + "autouv": 0, + "color": 7, + "origin": [0.5, 12, 13], + "uv_offset": [0, 30], + "faces": { + "north": { + "uv": [5, 35, 10, 39], + "texture": 2 + }, + "east": { + "uv": [0, 35, 5, 39], + "texture": 2 + }, + "south": { + "uv": [15, 35, 20, 39], + "texture": 2 + }, + "west": { + "uv": [10, 35, 15, 39], + "texture": 2 + }, + "up": { + "uv": [10, 35, 5, 30], + "texture": 2 + }, + "down": { + "uv": [15, 30, 10, 35], + "texture": 2 + } + }, + "type": "cube", + "uuid": "ea6d3eea-4586-0816-0a8a-bfc509ba028f" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-2, 15, 11], + "to": [2, 18, 15], + "autouv": 0, + "color": 7, + "origin": [1, 14, 11], + "uv_offset": [0, 23], + "faces": { + "north": { + "uv": [4, 27, 8, 30], + "texture": 2 + }, + "east": { + "uv": [0, 27, 4, 30], + "texture": 2 + }, + "south": { + "uv": [12, 27, 16, 30], + "texture": 2 + }, + "west": { + "uv": [8, 27, 12, 30], + "texture": 2 + }, + "up": { + "uv": [8, 27, 4, 23], + "texture": 2 + }, + "down": { + "uv": [12, 23, 8, 27], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f9cc9927-9caa-17b1-7172-3391bc9967c5" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1.5, 18, 10], + "to": [1.5, 20, 13], + "autouv": 0, + "color": 7, + "origin": [0.5, 18, 9], + "uv_offset": [0, 16], + "faces": { + "north": { + "uv": [3, 19, 6, 21], + "texture": 2 + }, + "east": { + "uv": [0, 19, 3, 21], + "texture": 2 + }, + "south": { + "uv": [9, 19, 12, 21], + "texture": 2 + }, + "west": { + "uv": [6, 19, 9, 21], + "texture": 2 + }, + "up": { + "uv": [6, 19, 3, 16], + "texture": 2 + }, + "down": { + "uv": [9, 16, 6, 19], + "texture": 2 + } + }, + "type": "cube", + "uuid": "938e8b16-7a21-e402-d481-6035bb73cd17" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-3.5, 19, 12], + "to": [-0.5, 22, 12], + "autouv": 0, + "color": 7, + "origin": [-1.5, 20, 9], + "faces": { + "north": { + "uv": [17, 16, 20, 19], + "texture": 2 + }, + "east": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "south": { + "uv": [20, 16, 23, 19], + "texture": 2 + }, + "west": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "dd3cb301-f072-0447-26bb-aa239d5864ba" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1.5, 18, 9], + "to": [1.5, 19, 10], + "autouv": 0, + "color": 7, + "origin": [0.5, 17, 6], + "uv_offset": [0, 21], + "faces": { + "north": { + "uv": [1, 22, 4, 23], + "texture": 2 + }, + "east": { + "uv": [0, 22, 1, 23], + "texture": 2 + }, + "south": { + "uv": [5, 22, 8, 23], + "texture": 2 + }, + "west": { + "uv": [4, 22, 5, 23], + "texture": 2 + }, + "up": { + "uv": [4, 22, 1, 21], + "texture": 2 + }, + "down": { + "uv": [7, 21, 4, 22], + "texture": 2 + } + }, + "type": "cube", + "uuid": "ade1c9ce-a3f2-b6ae-44fa-55a993b0749e" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-2.5, 17, 9], + "to": [2.5, 20, 9], + "autouv": 0, + "color": 7, + "origin": [1.5, 17, 6], + "uv_offset": [1, 22], + "faces": { + "north": { + "uv": [12, 16, 17, 19], + "texture": 2 + }, + "east": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "south": { + "uv": [12, 16, 17, 19], + "texture": 2 + }, + "west": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "bbbdefdc-5fb6-fa1f-4b13-39e8c045e0e3" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [0.5, 19, 12], + "to": [3.5, 22, 12], + "autouv": 0, + "color": 7, + "origin": [1.5, 20, 9], + "faces": { + "north": { + "uv": [20, 16, 17, 19], + "texture": 2 + }, + "east": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "south": { + "uv": [23, 16, 20, 19], + "texture": 2 + }, + "west": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "0947e07a-fbce-bd81-536a-514bb9ac87aa" + }, + { + "name": "cube", + "box_uv": true, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-2, 11, 11], + "to": [0, 13, 13], + "autouv": 0, + "color": 7, + "mirror_uv": true, + "origin": [-1, 12, 12], + "uv_offset": [12, 19], + "faces": { + "north": { + "uv": [16, 21, 14, 23], + "texture": 2 + }, + "east": { + "uv": [18, 21, 16, 23], + "texture": 2 + }, + "south": { + "uv": [20, 21, 18, 23], + "texture": 2 + }, + "west": { + "uv": [14, 21, 12, 23], + "texture": 2 + }, + "up": { + "uv": [14, 21, 16, 19], + "texture": 2 + }, + "down": { + "uv": [16, 19, 18, 21], + "texture": 2 + } + }, + "type": "cube", + "uuid": "28d5f17e-1718-c16e-d620-2eae46e6ad48" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [0, 12, 16], + "to": [0, 24, 24], + "autouv": 0, + "color": 7, + "origin": [0.5, 13, 17], + "uv_offset": [20, 11], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [28, 19, 20, 31], + "texture": 2 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [20, 19, 28, 31], + "texture": 2 + }, + "up": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "23229772-9322-7e23-686b-e5fda951e8f3" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [3.5, 14.5, 32], + "to": [-3.5, 7.5, 22], + "autouv": 0, + "color": 3, + "origin": [6.5, 17.5, 47], + "uv_offset": [28, 16], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "east": { + "uv": [45, 33, 55, 26], + "texture": 2 + }, + "south": { + "uv": [38, 33, 45, 26], + "texture": 2 + }, + "west": { + "uv": [28, 33, 38, 26], + "texture": 2 + }, + "up": { + "uv": [45, 16, 52, 26], + "texture": 2 + }, + "down": { + "uv": [38, 26, 45, 16], + "texture": 2 + } + }, + "type": "cube", + "uuid": "2175040c-9503-bcb8-9bcc-52cc5ec35660" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5.374, 9.9506, -10.49417], + "to": [5.624, 13.7006, -9.49417], + "autouv": 0, + "color": 1, + "origin": [5.5, 17.0506, -9.49417], + "faces": { + "north": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "east": { + "uv": [28, 0, 13, 4], + "rotation": 270, + "texture": 1 + }, + "south": { + "uv": [0, 0, 0, 0], + "texture": null + }, + "west": { + "uv": [28, 0, 13, 4], + "rotation": 270, + "texture": 1 + }, + "up": { + "uv": [0, 0, 0, 0], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [0, 0, 0, 0], + "texture": null + } + }, + "type": "cube", + "uuid": "9d9f4cc7-cb0a-1515-b9cb-28a8dcc176cb" + }, + { + "name": "wand_particles", + "position": [5.5, 13.5, -9.5], + "rotation": [0, 0, 0], + "ignore_inherited_scale": false, + "visibility": true, + "locked": false, + "config": null, + "uuid": "c7ae7054-1365-0f5b-e777-ff9284ac230e", + "type": "locator" + }, + { + "name": "broom_particles", + "position": [0, 11, 26], + "rotation": [0, 0, 0], + "ignore_inherited_scale": false, + "visibility": true, + "locked": false, + "config": null, + "uuid": "3857dee2-7a29-d026-bab3-73868390263b", + "type": "locator" + } + ], + "outliner": [ + { + "name": "broom", + "origin": [0, 11, 0], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "e24cb11a-42ef-7cb8-56d8-5eec84e57093", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "63947e2c-8407-1963-bf31-8eee08aee500", + "53f25d61-a8ce-e2c9-4ccb-32f0b688f827", + "0bb3b56e-f47f-5c47-14fe-f6dd3de3a639", + "c0c36880-9cd7-a3e3-749b-2ef00dbd1051", + "0cb22105-c1b9-086d-f0d9-e087c1a1139f", + "7bee31f4-0f08-299a-aaa0-8177d8078dff", + "2175040c-9503-bcb8-9bcc-52cc5ec35660", + { + "name": "witch", + "origin": [0, 12, 0], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "e54ffebf-c16f-05d6-6c9d-81e55a97dac8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "body", + "origin": [0, 12, 0], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "86662d66-4b1e-be0a-bbaa-6a6dec088fef", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "45d82418-2321-4f24-9a63-b5bc2057e800", + "37dca7a9-789b-3984-4d16-fdaa3b292048", + "53130d68-3a4f-7a65-51bc-882312407cb7", + { + "name": "rightarm", + "origin": [5, 22, -0.05], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "d8d52ffc-92a4-36dc-eadc-b32e43e95516", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "rightarm_slim", + "origin": [5, 22, -0.05], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "3647609e-a900-8b00-b39e-8c8a909cc6bc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "a22f9634-063d-97f7-86c5-24256821bb96", + "6b4537cd-19f5-52e2-fa6a-4b8cd831ff30", + "db64cc71-2153-401a-dd3c-b1cea98adebe", + { + "name": "wand", + "origin": [5.5, 13.5, -0.05], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "899dfa49-6f29-4fc0-db9a-b0a8e710d2ca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "164667fe-1cad-e25a-efd1-1a3716dfbbf9", + "94f914ad-eb20-d7bf-0e51-4253cf38d09a", + "9b9e03f6-1324-ab71-11bc-b08061b7712a", + "935a8c82-6b9e-cf70-7360-5ad0197622f7", + "e39f2736-2736-e6fb-c569-4a6f55c55aaa", + "9d9f4cc7-cb0a-1515-b9cb-28a8dcc176cb", + "43115d9e-1e6c-7684-030b-05e980fb6498", + "c7c670d3-c3e7-f1c1-a857-0bfeed6be33d", + "c7ae7054-1365-0f5b-e777-ff9284ac230e" + ] + } + ] + } + ] + }, + { + "name": "leftarm", + "origin": [-5, 22, -0.05], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "519e38af-3987-5abc-fc4b-35258cf082d1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "leftarm_slim", + "origin": [-5, 22, -0.05], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "2e329e12-5f7f-dfe2-5977-83fbbc53cf25", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["7ff42713-1443-789a-5165-dbef83209ad8", "693f4ac0-3774-4a83-c93b-2a2951987a65", "55a3b67f-8f28-db5a-8b77-62ce1e10fcc4"] + } + ] + }, + { + "name": "head", + "origin": [0, 24, 0], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "b8bb5ce4-8554-85f7-8a9a-74a944beacda", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["9a20434d-4a80-a43d-b8f4-c747f469e12b", "f9c88722-d723-f7de-ce1d-40d630c00049", "55fb5425-1275-3a16-70a7-4b6276ac5999"] + } + ] + }, + { + "name": "rightleg", + "origin": [1.9, 12, 0], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "16a71e7b-efea-4d7e-2197-b83f1c54966e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["73b9fdbc-c2f9-e43c-ef6d-bc159d183193", "ac495b61-fa9f-44f0-7d4c-30799a96a4c8", "426f5735-a6d5-8fdd-78de-06675b178e88"] + }, + { + "name": "leftleg", + "origin": [-1.9, 12, -0.05], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "c71134bb-9430-596b-6372-4eefaf8083f5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["de1c2115-133b-e2de-0275-6d784aee8ecc", "0185a3b1-67bf-38b5-373f-6a6facb044bc", "da1792fe-8974-f1bb-88bd-262e759f1175"] + } + ] + }, + { + "name": "cat", + "origin": [0, 12, 14.5], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "600a0134-73f2-0ef4-f7f1-6ba4007e0acf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "28d5f17e-1718-c16e-d620-2eae46e6ad48", + "6fef4f90-1eea-a2f3-84ac-19fa1edeba34", + "ea6d3eea-4586-0816-0a8a-bfc509ba028f", + { + "name": "upper_body", + "origin": [0, 16, 14], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "53ae45ad-72b3-918c-5af2-1ac9b48a7ef8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "f9cc9927-9caa-17b1-7172-3391bc9967c5", + { + "name": "cat_head", + "origin": [0, 18, 12], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "5b9afb46-cbe4-e283-eeae-50b4b9dc488e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "938e8b16-7a21-e402-d481-6035bb73cd17", + "dd3cb301-f072-0447-26bb-aa239d5864ba", + "bbbdefdc-5fb6-fa1f-4b13-39e8c045e0e3", + "0947e07a-fbce-bd81-536a-514bb9ac87aa", + "ade1c9ce-a3f2-b6ae-44fa-55a993b0749e" + ] + } + ] + }, + { + "name": "tail", + "origin": [0, 14, 17], + "color": 0, + "configs": { + "variants": {} + }, + "uuid": "09c04eec-1969-9dda-61c6-e7ef781985e1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["23229772-9322-7e23-686b-e5fda951e8f3"] + } + ] + }, + "3857dee2-7a29-d026-bab3-73868390263b" + ] + } + ], + "textures": [ + { + "path": "C:\\Users\\SnaveSutit\\AppData\\Roaming\\.modrinth\\profiles\\Animated Java Dev\\resourcepacks\\animated_java_booth_rp\\assets\\animated_java_booth\\textures\\item\\witch_skin.png", + "name": "witch_skin.png", + "folder": "", + "namespace": "", + "id": "0", + "group": "", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 2, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "ce16ff1e-f58a-dbf7-24bb-22dbd43317ec", + "source": "data:image/png;base64,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", + "relative_path": "C:/Users/SnaveSutit/AppData/Roaming/.modrinth/profiles/Animated Java Dev/resourcepacks/animated_java_booth_rp/assets/animated_java_booth/textures/item/witch_skin.png" + }, + { + "path": "C:\\Users\\SnaveSutit\\AppData\\Roaming\\.modrinth\\profiles\\Animated Java Dev\\resourcepacks\\animated_java_booth_rp\\assets\\animated_java_booth\\textures\\item\\witch_animation.png", + "name": "witch_animation.png", + "folder": "", + "namespace": "", + "id": "1", + "group": "", + "width": 16, + "height": 96, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 4, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "c3e57243-93f3-dfd7-c4d5-aaa585e74dc6", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAABgCAYAAAAU0fKgAAAAAXNSR0IArs4c6QAAATtJREFUWEftmDFLxEAQhV/ATrARbEYQS7HSnzaWetVp6fw0rcRSBKew8qorbEaSzZ3JcnfJsSlEXiBsYJch7O775s1U/qIBB5r3A8DXIQABcNqM3zjpTd+YVOg81aN6eL02rU/jwWcbLUU+xrKZWk0fLQC5tCZQL1o38thvBuAm8iIltZRr4cE1cqnu4oPYVZ8Hrs+RQ2MMH26FPFghr/wYx8Jz2zr+wRRi+genoP4UyRhsT+VdPsgsyXh9lX2uMWQqNvHB5Jr+oN1FqpFqnCa9FxNJzWMfq3/RpvU1D15do/b/+xQdNR9MU+FBLXAPeA+msvvFPHiry/9O+2DI6pvc9/2B+l1s6g8M8eG8bUSQB+QBefBneOA6i139w5wPdpb1E/XdY0z/MOeD2Jz+gPXCb+FZnNoYoNxs/wB+FYpheqpQPwAAAABJRU5ErkJggg==", + "relative_path": "C:/Users/SnaveSutit/AppData/Roaming/.modrinth/profiles/Animated Java Dev/resourcepacks/animated_java_booth_rp/assets/animated_java_booth/textures/item/witch_animation.png" + }, + { + "path": "C:\\Users\\SnaveSutit\\AppData\\Roaming\\.modrinth\\profiles\\Animated Java Dev\\resourcepacks\\animated_java_booth_rp\\assets\\animated_java_booth\\textures\\item\\witch_assets.png", + "name": "witch_assets.png", + "folder": "", + "namespace": "", + "id": "2", + "group": "", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "05e98464-7aec-b7f7-3e91-b36b122bef63", + "source": "data:image/png;base64,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", + "relative_path": "C:/Users/SnaveSutit/AppData/Roaming/.modrinth/profiles/Animated Java Dev/resourcepacks/animated_java_booth_rp/assets/animated_java_booth/textures/item/witch_assets.png" + } + ], + "variants": { + "default": { + "name": "default", + "display_name": "Default", + "uuid": "ceca2b6f-acbe-23b5-4e39-b2f2148ed716", + "texture_map": {}, + "excluded_nodes": [], + "is_default": true + }, + "list": [] + }, + "animations": [ + { + "uuid": "55cac467-ea1e-c70f-63e8-6a496a57fbe4", + "name": "pose", + "loop": "loop", + "override": false, + "length": 4, + "snapping": 20, + "selected": true, + "saved": false, + "path": "", + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "0", + "excluded_nodes": [], + "animators": { + "86662d66-4b1e-be0a-bbaa-6a6dec088fef": { + "name": "body", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "21.5326 + math.cos(q.life_time * 180 - 22.5) * 12.25", + "y": "6.94082", + "z": "-10.14915" + } + ], + "uuid": "7375b3e2-8bb8-96fe-7d0a-995799b9b124", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "1" + } + ], + "uuid": "9bcbb128-fa90-a43c-6715-ca4b3d1287b8", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "3647609e-a900-8b00-b39e-8c8a909cc6bc": { + "name": "rightarm_slim", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "50.6959 - math.cos(q.life_time * 180 + 45) * 22.5 - 12.25", + "y": "15.6806", + "z": "55.0931 - math.cos(q.life_time * 180 - 45) * 22.5" + } + ], + "uuid": "43a3a5bf-eb57-71a6-38f8-a6908ec75014", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "2e329e12-5f7f-dfe2-5977-83fbbc53cf25": { + "name": "leftarm_slim", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-53.8268 - math.cos(q.life_time * 180 - 22.5) * 12.25", + "y": "23.61535", + "z": "7.1579" + } + ], + "uuid": "6b045717-0fac-aceb-f4a2-8421cea86682", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-1 + math.cos(q.life_time * 180 - 22.5)", + "z": "math.cos(q.life_time * 180 - 22.5) * 2" + } + ], + "uuid": "153aa669-4c98-c128-e66f-c02e04c24f6b", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "b8bb5ce4-8554-85f7-8a9a-74a944beacda": { + "name": "head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-14.4966 - math.cos(q.life_time * 180 - 22.5) * 12.25", + "y": "-6.6848", + "z": "9.10914" + } + ], + "uuid": "2f449be4-da35-4144-e82b-3626a040cda0", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "16a71e7b-efea-4d7e-2197-b83f1c54966e": { + "name": "rightleg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-33.735 + math.cos(q.life_time * 180 + 45) * 12.25", + "y": "9.93191", + "z": "14.4817 - math.cos(q.life_time * 180 - 45) * 12.25" + } + ], + "uuid": "2242ad81-4ea6-c374-29ce-7dd39ea7732d", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "c71134bb-9430-596b-6372-4eefaf8083f5": { + "name": "leftleg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-27.3779 + math.cos(q.life_time * 180 - 45) * 12.25", + "y": "-1.9293", + "z": "-9.74852" + } + ], + "uuid": "0e06f514-d90a-8e60-eff7-54f12916d179", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "09c04eec-1969-9dda-61c6-e7ef781985e1": { + "name": "tail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "14.21301", + "y": "-65.79957", + "z": "237.13131" + } + ], + "uuid": "8e858d72-fc56-9bca-b792-6903609981f6", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "600a0134-73f2-0ef4-f7f1-6ba4007e0acf": { + "name": "cat", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "12.5", + "z": "-12.5" + } + ], + "uuid": "e994ff64-e40d-173a-16f4-1eb77fdb6512", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1 + math.cos(q.life_time * 180 - 22.5) * 0.1", + "y": "1 - math.cos(q.life_time * 180 - 22.5) * 0.1", + "z": "1 + math.cos(q.life_time * 180 - 22.5) * 0.1" + } + ], + "uuid": "1d7b63da-2172-2b07-33c0-8d587ccdf851", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "5b9afb46-cbe4-e283-eeae-50b4b9dc488e": { + "name": "cat_head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "14.8737 + math.cos(q.life_time * 180 - 22.5) * 12.25", + "y": "9.53055", + "z": "12.3725" + } + ], + "uuid": "28f38076-27d5-ec21-7fae-bfab14b87a42", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1.25", + "y": "-0.75", + "z": "0" + } + ], + "uuid": "3129fa1a-35d1-1d11-6b11-7c6a33595618", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "53ae45ad-72b3-918c-5af2-1ac9b48a7ef8": { + "name": "upper_body", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-6", + "z": "-6.5" + } + ], + "uuid": "dbcda364-7b28-fe3f-4265-c8b1825ab332", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1.25", + "y": "-0.75 - math.cos(q.life_time * 180 - 45) * 1", + "z": "0" + } + ], + "uuid": "0285b4b5-9258-832f-ac2c-6616e28c7090", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "e24cb11a-42ef-7cb8-56d8-5eec84e57093": { + "name": "broom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "7.5283 - math.cos(q.life_time * 180) * 12.25", + "y": "4.95712", + "z": "0.65426" + } + ], + "uuid": "39c88ccc-2963-635b-7765-4220f69c5931", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "5 + math.sin(q.life_time * 180) * 4", + "z": "0" + } + ], + "uuid": "1aaa4431-a52a-28b5-eedb-b98102928609", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "e54ffebf-c16f-05d6-6c9d-81e55a97dac8": { + "name": "witch", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "math.cos(q.life_time * 180) * 8", + "y": "0", + "z": "0" + } + ], + "uuid": "3bc3480f-7f1f-6893-006e-d969bfbb5af8", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + } + } + } + ], + "animation_controllers": [] +} \ No newline at end of file diff --git a/test-packs/1.20.4/blueprints/armor_stand.ajblueprint b/test-packs/1.20.4/blueprints/armor_stand.ajblueprint new file mode 100644 index 00000000..06eff3f5 --- /dev/null +++ b/test-packs/1.20.4/blueprints/armor_stand.ajblueprint @@ -0,0 +1,2073 @@ +{ + "meta": { + "format": "animated_java_blueprint", + "format_version": "1.7.3", + "uuid": "167b27cd-b559-3f13-a97c-0841fe21f1d1", + "save_location": "D:\\github-repos\\animated-java\\animated-java\\test-packs\\1.20.4\\blueprints\\armor_stand.ajblueprint", + "last_used_export_namespace": "armor_stand" + }, + "blueprint_settings": { + "export_namespace": "armor_stand", + "show_bounding_box": false, + "auto_bounding_box": true, + "bounding_box": [95, 32], + "enable_plugin_mode": false, + "resource_pack_export_mode": "raw", + "data_pack_export_mode": "raw", + "target_minecraft_versions": ["1.20.4"], + "display_item": "minecraft:white_dye", + "custom_model_data_offset": 0, + "enable_advanced_resource_pack_settings": false, + "resource_pack": "../resources", + "enable_advanced_data_pack_settings": false, + "data_pack": "../datapacks/animated_java", + "summon_commands": "say On-Summon!", + "remove_commands": "say On-Remove!", + "ticking_commands": "", + "interpolation_duration": 1, + "teleportation_duration": 1, + "use_storage_for_animation": false, + "show_function_errors": true, + "show_outdated_warning": true, + "baked_animations": false, + "json_file": "../testPluginExport.json", + "target_minecraft_version": "1.21.4", + "enable_advanced_resource_pack_folders": false, + "display_item_path": "", + "model_folder": "", + "texture_folder": "", + "customModelDataOffset": 0, + "custom_summon_commands": "" + }, + "resolution": { + "width": 64, + "height": 64 + }, + "elements": [ + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-6, 0, -6], + "to": [6, 1, 6], + "autouv": 0, + "color": 2, + "origin": [0, 0, 0], + "faces": { + "north": { + "uv": [12, 44, 24, 45], + "texture": 0 + }, + "east": { + "uv": [0, 44, 12, 45], + "texture": 0 + }, + "south": { + "uv": [36, 44, 48, 45], + "texture": 0 + }, + "west": { + "uv": [24, 44, 36, 45], + "texture": 0 + }, + "up": { + "uv": [12, 32, 24, 44], + "texture": 0 + }, + "down": { + "uv": [24, 32, 36, 44], + "texture": 0 + } + }, + "type": "cube", + "uuid": "46624743-e0ef-5e97-e6d8-ba5dc100baf4" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4, 12, -1], + "to": [4, 14, 1], + "autouv": 0, + "color": 2, + "origin": [0, 13, 0], + "faces": { + "north": { + "uv": [2, 50, 10, 52], + "texture": 0 + }, + "east": { + "uv": [0, 50, 2, 52], + "texture": 0 + }, + "south": { + "uv": [12, 50, 20, 52], + "texture": 0 + }, + "west": { + "uv": [10, 50, 12, 52], + "texture": 0 + }, + "up": { + "uv": [2, 50, 10, 52], + "texture": 0 + }, + "down": { + "uv": [10, 48, 18, 50], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9b73ebc3-aca6-b85c-d022-b0a811ab38f8" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [1, 1, -1], + "to": [3, 12, 1], + "autouv": 0, + "color": 2, + "origin": [2, 6.5, 0], + "faces": { + "north": { + "uv": [10, 2, 12, 13], + "texture": 0 + }, + "east": { + "uv": [12, 2, 14, 13], + "texture": 0 + }, + "south": { + "uv": [14, 2, 16, 13], + "texture": 0 + }, + "west": { + "uv": [8, 2, 10, 13], + "texture": 0 + }, + "up": { + "uv": [10, 0, 12, 2], + "texture": 0 + }, + "down": { + "uv": [12, 0, 14, 2], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d29efa52-def5-a311-7438-1fc73aac804c" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-3, 1, -1], + "to": [-1, 12, 1], + "autouv": 0, + "color": 2, + "origin": [-2, 6.5, 0], + "faces": { + "north": { + "uv": [44, 18, 42, 29], + "texture": 0 + }, + "east": { + "uv": [46, 18, 44, 29], + "texture": 0 + }, + "south": { + "uv": [48, 18, 46, 29], + "texture": 0 + }, + "west": { + "uv": [42, 18, 40, 29], + "texture": 0 + }, + "up": { + "uv": [42, 16, 44, 18], + "texture": 0 + }, + "down": { + "uv": [44, 16, 46, 18], + "texture": 0 + } + }, + "type": "cube", + "uuid": "60766231-bd45-cb3f-0a4f-c6c066e86f54" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-6, 21, -1.5], + "to": [6, 24, 1.5], + "autouv": 0, + "color": 2, + "origin": [0, 22.5, 0], + "faces": { + "north": { + "uv": [3, 29, 15, 32], + "texture": 0 + }, + "east": { + "uv": [0, 29, 3, 32], + "texture": 0 + }, + "south": { + "uv": [18, 29, 30, 32], + "texture": 0 + }, + "west": { + "uv": [15, 29, 18, 32], + "texture": 0 + }, + "up": { + "uv": [3, 26, 15, 29], + "texture": 0 + }, + "down": { + "uv": [15, 26, 27, 29], + "texture": 0 + } + }, + "type": "cube", + "uuid": "55829f3d-26dc-8f49-39b8-5ba2c0159a24" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [1, 14, -1], + "to": [3, 21, 1], + "autouv": 0, + "color": 2, + "origin": [2, 17.5, 0], + "faces": { + "north": { + "uv": [18, 2, 20, 9], + "texture": 0 + }, + "east": { + "uv": [16, 2, 18, 9], + "texture": 0 + }, + "south": { + "uv": [22, 2, 24, 9], + "texture": 0 + }, + "west": { + "uv": [20, 2, 22, 9], + "texture": 0 + }, + "up": { + "uv": [18, 0, 20, 2], + "texture": 0 + }, + "down": { + "uv": [20, 0, 22, 2], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d16df18-0574-58bb-e0f9-f799946257c9" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-3, 14, -1], + "to": [-1, 21, 1], + "autouv": 0, + "color": 2, + "origin": [-2, 17.5, 0], + "faces": { + "north": { + "uv": [50, 18, 52, 25], + "texture": 0 + }, + "east": { + "uv": [48, 18, 50, 25], + "texture": 0 + }, + "south": { + "uv": [54, 18, 56, 25], + "texture": 0 + }, + "west": { + "uv": [52, 18, 54, 25], + "texture": 0 + }, + "up": { + "uv": [50, 16, 52, 18], + "texture": 0 + }, + "down": { + "uv": [52, 16, 54, 18], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f26e6144-8dab-547a-16e8-adaa6fa2c45d" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-7, 12, -1], + "to": [-5, 24, 1], + "autouv": 0, + "color": 2, + "origin": [-6, 18, 0], + "faces": { + "north": { + "uv": [36, 18, 34, 30], + "texture": 0 + }, + "east": { + "uv": [34, 18, 32, 30], + "texture": 0 + }, + "south": { + "uv": [40, 18, 38, 30], + "texture": 0 + }, + "west": { + "uv": [38, 18, 36, 30], + "texture": 0 + }, + "up": { + "uv": [34, 18, 36, 16], + "texture": 0 + }, + "down": { + "uv": [36, 16, 38, 18], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c219cb9b-53a7-6a5b-7b47-dce0a1e6ec14" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [5, 12, -1], + "to": [7, 24, 1], + "autouv": 0, + "color": 2, + "origin": [6, 18, 0], + "faces": { + "north": { + "uv": [26, 2, 28, 14], + "texture": 0 + }, + "east": { + "uv": [24, 2, 26, 14], + "texture": 0 + }, + "south": { + "uv": [30, 2, 32, 14], + "texture": 0 + }, + "west": { + "uv": [28, 2, 30, 14], + "texture": 0 + }, + "up": { + "uv": [26, 0, 28, 2], + "texture": 0 + }, + "down": { + "uv": [30, 0, 28, 2], + "texture": 0 + } + }, + "type": "cube", + "uuid": "13293700-7f42-2279-6a1f-4e0a6a4d89b3" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1, 23, -1], + "to": [1, 30, 1], + "autouv": 0, + "color": 2, + "origin": [0, 26.5, 0], + "faces": { + "north": { + "uv": [2, 2, 4, 9], + "texture": 0 + }, + "east": { + "uv": [0, 2, 2, 9], + "texture": 0 + }, + "south": { + "uv": [6, 2, 8, 9], + "texture": 0 + }, + "west": { + "uv": [4, 2, 6, 9], + "texture": 0 + }, + "up": { + "uv": [2, 0, 4, 2], + "texture": 0 + }, + "down": { + "uv": [4, 0, 6, 2], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a23d9259-0d9a-4e16-1b42-47e5bedba00f" + }, + { + "name": "helmet", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-5, 22, -5], + "to": [5, 32, 5], + "autouv": 0, + "color": 9, + "origin": [0, 27, 0], + "faces": { + "north": { + "uv": [8, 16, 16, 32], + "texture": 1 + }, + "east": { + "uv": [0, 16, 8, 32], + "texture": 1 + }, + "south": { + "uv": [24, 16, 32, 32], + "texture": 1 + }, + "west": { + "uv": [16, 16, 24, 32], + "texture": 1 + }, + "up": { + "uv": [8, 0, 16, 16], + "texture": 1 + }, + "down": { + "uv": [16, 0, 24, 16], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a302b268-1699-4013-011f-211bd85806d4" + }, + { + "name": "chestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-5, 11.25, -3], + "to": [5, 23.75, 3], + "autouv": 0, + "color": 9, + "origin": [0, 17.5, 0], + "faces": { + "north": { + "uv": [20, 40, 28, 64], + "texture": 1 + }, + "east": { + "uv": [16, 40, 20, 64], + "texture": 1 + }, + "south": { + "uv": [32, 40, 40, 64], + "texture": 1 + }, + "west": { + "uv": [28, 40, 32, 64], + "texture": 1 + }, + "up": { + "uv": [20, 32, 28, 40], + "texture": 1 + }, + "down": { + "uv": [28, 32, 36, 40], + "texture": 1 + } + }, + "type": "cube", + "uuid": "6dd668dd-27bd-631d-5e44-a94f7a35ddbb" + }, + { + "name": "left_chestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-9, 19.25, -3], + "to": [-3, 25, 3], + "autouv": 0, + "color": 9, + "origin": [-6, 22.125, 0], + "faces": { + "north": { + "uv": [48, 40, 44, 49.75], + "texture": 1 + }, + "east": { + "uv": [44, 40, 40, 49.75], + "texture": 1 + }, + "south": { + "uv": [56, 40, 52, 49.75], + "texture": 1 + }, + "west": { + "uv": [52, 40, 48, 49.75], + "texture": 1 + }, + "up": { + "uv": [44, 39.75, 48, 32], + "texture": 1 + }, + "down": { + "uv": [52, 32, 48, 39.75], + "texture": 1 + } + }, + "type": "cube", + "uuid": "967c77d0-2607-0ecb-8093-416d237cdb85" + }, + { + "name": "left_chestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [3, 19.25, -3], + "to": [9, 25, 3], + "autouv": 0, + "color": 9, + "origin": [6, 22.125, 0], + "faces": { + "north": { + "uv": [44, 40, 48, 49.75], + "texture": 1 + }, + "east": { + "uv": [48, 40, 52, 49.75], + "texture": 1 + }, + "south": { + "uv": [52, 40, 56, 49.75], + "texture": 1 + }, + "west": { + "uv": [40, 40, 44, 49.75], + "texture": 1 + }, + "up": { + "uv": [48, 39.75, 44, 32], + "texture": 1 + }, + "down": { + "uv": [48, 32, 52, 39.75], + "texture": 1 + } + }, + "type": "cube", + "uuid": "98475898-cfc8-f67b-3145-abaf659deb3e" + }, + { + "name": "pants", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4.5, 11.5, -2.5], + "to": [4.5, 17, 2.5], + "autouv": 0, + "color": 9, + "origin": [0, 14.25, 0], + "faces": { + "north": { + "uv": [20, 54, 28, 64], + "texture": 2 + }, + "east": { + "uv": [16, 54, 20, 64], + "texture": 2 + }, + "south": { + "uv": [32, 54, 40, 64], + "texture": 2 + }, + "west": { + "uv": [28, 54, 32, 64], + "texture": 2 + }, + "up": { + "uv": [20, 48, 28, 54], + "texture": 2 + }, + "down": { + "uv": [28, 48, 36, 54], + "texture": 2 + } + }, + "type": "cube", + "uuid": "d5e974ae-a732-db7a-59a1-c16ff717e426" + }, + { + "name": "right_pants", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-0.5, 2.75, -2.375], + "to": [4.25, 12, 2.375], + "autouv": 0, + "color": 9, + "origin": [1.875, 7.375, 0], + "faces": { + "north": { + "uv": [4, 40, 8, 58], + "texture": 2 + }, + "east": { + "uv": [0, 40, 4, 58], + "texture": 2 + }, + "south": { + "uv": [12, 40, 16, 58], + "texture": 2 + }, + "west": { + "uv": [8, 40, 12, 58], + "texture": 2 + }, + "up": { + "uv": [4, 32, 8, 40], + "texture": 2 + }, + "down": { + "uv": [8, 32, 12, 40], + "texture": 2 + } + }, + "type": "cube", + "uuid": "71bfec99-5014-21d3-739b-6512074212db" + }, + { + "name": "left_pants", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4.25, 2.75, -2.375], + "to": [0.5, 12, 2.375], + "autouv": 0, + "color": 9, + "origin": [-1.875, 7.375, 0], + "faces": { + "north": { + "uv": [8, 40, 4, 58], + "texture": 2 + }, + "east": { + "uv": [12, 40, 8, 58], + "texture": 2 + }, + "south": { + "uv": [16, 40, 12, 58], + "texture": 2 + }, + "west": { + "uv": [4, 40, 0, 58], + "texture": 2 + }, + "up": { + "uv": [8, 32, 4, 40], + "texture": 2 + }, + "down": { + "uv": [12, 32, 8, 40], + "texture": 2 + } + }, + "type": "cube", + "uuid": "4dd0c5f1-828f-d559-6496-16e2fbe6276d" + }, + { + "name": "right_shoe", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-1, -1, -3], + "to": [4.75, 6, 3], + "autouv": 0, + "color": 9, + "origin": [1.875, 2.5, 0], + "faces": { + "north": { + "uv": [4, 52, 8, 64], + "texture": 1 + }, + "east": { + "uv": [0, 52, 4, 64], + "texture": 1 + }, + "south": { + "uv": [12, 52, 16, 64], + "texture": 1 + }, + "west": { + "uv": [8, 52, 12, 64], + "texture": 1 + }, + "up": { + "uv": [4, 32, 8, 40], + "texture": 1 + }, + "down": { + "uv": [8, 32, 12, 40], + "texture": 1 + } + }, + "type": "cube", + "uuid": "41413d23-edf5-3fdc-2ddb-5fd45ea99a89" + }, + { + "name": "left_shoe", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [-4.75, -1, -3], + "to": [1, 6, 3], + "autouv": 0, + "color": 9, + "origin": [-1.875, 2.5, 0], + "faces": { + "north": { + "uv": [8, 52, 4, 64], + "texture": 1 + }, + "east": { + "uv": [12, 52, 8, 64], + "texture": 1 + }, + "south": { + "uv": [16, 52, 12, 64], + "texture": 1 + }, + "west": { + "uv": [4, 52, 0, 64], + "texture": 1 + }, + "up": { + "uv": [8, 32, 4, 40], + "texture": 1 + }, + "down": { + "uv": [12, 32, 8, 40], + "texture": 1 + } + }, + "type": "cube", + "uuid": "11976d8b-3994-df35-0fb9-b92ac5012141" + }, + { + "name": "left_hand", + "position": [-6, 11, 0], + "rotation": [0, 0, 0], + "ignore_inherited_scale": false, + "visibility": true, + "locked": false, + "config": { + "use_entity": true, + "entity_type": "minecraft:item_display", + "sync_passenger_rotation": true, + "summon_commands": "", + "ticking_commands": "particle minecraft:bubble ^ ^ ^1\ntp @e[tag=test3,limit=1] ~ ~ ~ ~ ~" + }, + "uuid": "7de415a2-9fdd-e4b2-3455-c3bed72eb896", + "type": "locator" + }, + { + "name": "right_hand", + "position": [6, 11, 0], + "rotation": [0, 0, 0], + "ignore_inherited_scale": false, + "visibility": true, + "locked": false, + "config": { + "use_entity": true, + "entity_type": "minecraft:item_display", + "sync_passenger_rotation": false, + "summon_commands": "", + "ticking_commands": "particle minecraft:bubble ^ ^ ^1\ntp @e[tag=test2,limit=1] ~ ~ ~ ~ ~" + }, + "uuid": "7747736f-85e2-338f-207e-53f8d3d2fa39", + "type": "locator" + }, + { + "name": "text_display", + "position": [0, 38, 0], + "rotation": [45, 0, 0], + "scale": [1, 1, 1], + "visibility": true, + "block": "minecraft:stone", + "config": {}, + "item": "minecraft:diamond", + "itemDisplay": "none", + "text": "{\n\t\"text\": \"Hello, World!\",\n\t\"color\": \"green\"\n}\n", + "lineWidth": 200, + "backgroundColor": "#ffffff", + "backgroundAlpha": 0.25098, + "align": "center", + "shadow": true, + "seeThrough": true, + "uuid": "c2e217f1-b50a-5c9a-b342-71a35e984046", + "type": "animated_java:text_display" + }, + { + "name": "camera", + "box_uv": false, + "rescale": false, + "locked": false, + "light_emission": 0, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [0, 0, 0], + "to": [1, 1, 1], + "autouv": 0, + "color": 0, + "origin": [0, 0, 0], + "faces": { + "north": { + "uv": [0, 0, 1, 1], + "texture": 0 + }, + "east": { + "uv": [0, 0, 1, 1], + "texture": 0 + }, + "south": { + "uv": [0, 0, 1, 1], + "texture": 0 + }, + "west": { + "uv": [0, 0, 1, 1], + "texture": 0 + }, + "up": { + "uv": [0, 0, 1, 1], + "texture": 0 + }, + "down": { + "uv": [0, 0, 1, 1], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3f916352-b0e1-f1e4-0e09-308cc68f96e6" + } + ], + "outliner": [ + { + "name": "root", + "origin": [0, 0, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glow_color": "#ffffff", + "glowing": false, + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": {} + }, + "uuid": "98795982-9c43-6e3e-eed9-2c776a957938", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "baseplate_root", + "origin": [0, 0, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glow_color": "#ffffff", + "glowing": false, + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": {} + }, + "uuid": "102db36a-eeda-0e6f-d5cc-c186ecda8165", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "baseplate_pivot_a", + "origin": [0, 1, 6], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glow_color": "#ffffff", + "glowing": false, + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": {} + }, + "uuid": "4f000ffc-11d6-3a4b-7c8d-6b5ba483228c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["46624743-e0ef-5e97-e6d8-ba5dc100baf4"] + } + ] + }, + { + "name": "armor_stand_root", + "origin": [0, 1, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": {} + }, + "uuid": "5e08acae-d6ca-0dfd-9360-8cdb13c7a824", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "waist_pivot", + "origin": [0, 12, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "5417306e-2c69-3f36-1e3c-edd904034a36": {} + } + }, + "uuid": "98a28100-07e8-849a-38b7-f56abc2c2e56", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "body_waist_pivot", + "origin": [0, 12, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "5417306e-2c69-3f36-1e3c-edd904034a36": {} + } + }, + "uuid": "49e67c2a-3d1d-792d-9c75-72ecbc0f92e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "body", + "origin": [0, 24, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "5417306e-2c69-3f36-1e3c-edd904034a36": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": false, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#00ff06", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + } + } + }, + "uuid": "6c53311f-ffc8-e567-ff1b-65840698e9ba", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + "55829f3d-26dc-8f49-39b8-5ba2c0159a24", + "9d16df18-0574-58bb-e0f9-f799946257c9", + "f26e6144-8dab-547a-16e8-adaa6fa2c45d", + "9b73ebc3-aca6-b85c-d022-b0a811ab38f8", + "6dd668dd-27bd-631d-5e44-a94f7a35ddbb", + "d5e974ae-a732-db7a-59a1-c16ff717e426", + { + "name": "head", + "origin": [0, 23, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#c400ff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + } + } + }, + "uuid": "808e3c26-7285-af3f-a079-d8b899176dd3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["a23d9259-0d9a-4e16-1b42-47e5bedba00f", "a302b268-1699-4013-011f-211bd85806d4"] + }, + { + "name": "left_arm", + "origin": [-6, 23, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#00ff9f", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + } + } + }, + "uuid": "b5b52d2c-097c-08df-6457-372fbae12445", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["c219cb9b-53a7-6a5b-7b47-dce0a1e6ec14", "967c77d0-2607-0ecb-8093-416d237cdb85", "7de415a2-9fdd-e4b2-3455-c3bed72eb896"] + }, + { + "name": "right_arm", + "origin": [6, 23, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": true, + "glow_color": "#ffffff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#ff0000", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + } + } + }, + "uuid": "215d1b02-0e64-a794-1b88-a9c5a6d7541c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["13293700-7f42-2279-6a1f-4e0a6a4d89b3", "98475898-cfc8-f67b-3145-abaf659deb3e", "7747736f-85e2-338f-207e-53f8d3d2fa39"] + } + ] + } + ] + }, + { + "name": "left_leg", + "origin": [2, 12, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glow_color": "#ffffff", + "glowing": false, + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#ffee00", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + } + } + }, + "uuid": "55b812fe-7e4c-b2a5-da5b-3a8c82f9fc69", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["d29efa52-def5-a311-7438-1fc73aac804c", "71bfec99-5014-21d3-739b-6512074212db", "41413d23-edf5-3fdc-2ddb-5fd45ea99a89"] + }, + { + "name": "right_leg", + "origin": [-2, 12, 0], + "color": 0, + "configs": { + "default": { + "billboard": "fixed", + "brightness_override": 0, + "enchanted": false, + "glow_color": "#ffffff", + "glowing": false, + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#6e00ff", + "inherit_settings": true, + "invisible": false, + "nbt": "{}", + "shadow_radius": 0, + "shadow_strength": 1, + "use_nbt": false + } + } + }, + "uuid": "60d50d30-a018-429d-ba78-c5fb5804dd8a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": ["60766231-bd45-cb3f-0a4f-c6c066e86f54", "4dd0c5f1-828f-d559-6496-16e2fbe6276d", "11976d8b-3994-df35-0fb9-b92ac5012141"] + } + ] + } + ] + }, + "3f916352-b0e1-f1e4-0e09-308cc68f96e6" + ] + }, + "c2e217f1-b50a-5c9a-b342-71a35e984046" + ], + "textures": [ + { + "path": "", + "name": "wood.png", + "folder": "", + "namespace": "", + "id": "0", + "group": "", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "eb6c49b8-8e8e-a039-9a6f-ef6a06bc7924", + "source": "data:image/png;base64,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" + }, + { + "path": "", + "name": "iron_layer_1.png", + "folder": "", + "namespace": "", + "id": "1", + "group": "", + "width": 64, + "height": 32, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "240844f3-f615-fe51-0ada-d208791fbdc0", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA6VJREFUaEPlmb9qMkEUxVcIKCikUBCSTot0yROYwkqf2FQK8Qm0U0g6hYAWAYUEhP34DZzlOqzORqNu/KZJZufuOPfMvef+2UIUGK+vr/F6vXZS5XI5kdazbrdbCO2R5/Xg4QGg1Wo5Hebzufu7Wq3c34+Pj+j5+Tm4x1UAMBgMomq1muhSKpX+DwB6vV78+PgYLRaLaLlcJgAAxufn5/VbgA/A/f19AsL7+3t09RwAAI1GI/r6+nIWIAAqlUr09vZ2/RYACdbrdXfrgIDvozxjPB5fvwUAAMruCoV/3gV2KYjCNu7L8XcBIdm0dRsG7b78f2kAC4rzxHjFd5k7LM8hO51ONJ1OnQtowAff398OpNvbW+caGrjI3d1dNBwO3SObRxBNJJuHPKKQFuYIcbVazfm4MkCAgAxns1miuG7bD5P2fQACAO2lUAqZ5gYAbksHu7m5cUpbU1a2F8dxTELUbrdd9gd4unW5wGazcY8AQZkjAE0mk62EUOu5cAGr8L4D9ft9p7AASEtxBYrlBAFsM0ksLA9h9OR5vIopQLAhFOVzQYLnKlSwDGsVlzZ96X1yCzgXwIf+ThCA0WgUiyDx4aenp+A7hx4my3vKW8Rbx1pSUJnJZBKrDsgLAIRVIsxvkGgQgNlsFitBAohLW4DyFsIqIfvYhkwQAJsqQ2LH/mAWM98nY3MP5E7uAqED76olfKCs7/qJFvN98n79oOw0bZ+f1hpBC8gCAD5JrUBqy2g2m1v+qZ6C1tPkSZVtmKT+eHl5cc+sz2t/v9aAE7SH5LOU60cDYGsJWzzpQBxYxRQAcEOqHZBn6MDiGoopiib2AAAAtXPS7YeHh0RhijGG5JkTubJwxNEAYNr+AXTDHAplpBgtNFWPOrAFSNamqIMCAMZtMwSwPy8Wi6728NcBJMQRvwKAOkbWBbgxO9RF5llIXq03WQygqTiz/r+PA7J+tzgaAFxAxY5ujLI5bUghK28B8d85R7ns+gE/YVXdhiUsNU1lgpqnWYD6Cpi5b7LI26wziwmHSDq0vtURUoUGaSnTsiSVxrLyab9DxHvq/KiT5JMUHSWGtRjJnuvDiwMAn9SNyCSZ68B23b9BIWzjLyxta3/drJot8l1ZkUj0Eh9enAvAorSoLEsrjIiFdSPMJb/LR7WnQJB17GLktGTqXL2CxAL0oYPbIe4SukRamKhdxyKY70s0fjtlDfnyoevOAtJa2jbsiCTTQtGla4NDFdd7/wAIfE5OhlGtmAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "iron_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "group": "", + "width": 64, + "height": 32, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "34528a28-3a31-8b47-65bb-ef2b60b02401", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAZZJREFUaEPtVruqhDAQjZ1gYSlY+gH+gfZ+sb2fYWEpCDaCgt1eTrhHhlldLsgVNkkajZldmJPzmMh4viLP+zcBgMAAzxEIEvCcAMEEgwSCBDxHIEjAcwKEFAgSCBJQCHRd98KnbdtMkiSmrmunWfLWHACoqsr0fW+GYTBN0/gFQNu2r6IobPNYXgIgVeE8ANQ8dY8ntC994OrMBYZEAACGl+e5GcfRNp+mqQVA75dlsd9xjjMnAIDm0QgAYINZltnmpmmyaQBPwKIvYL/vu63/9pSwDOCNoyGy4YoBEhAA5AQAvHHcMCVA+pPycRxbRnCPpxMMkBJg07xlSkD6g/QAFwalQwK6eeqdjAADyBBpmt8ek28eoCMPzWqT1CnxKSZ1pHLE5v/yXMYuz55ImSMGz7L/L42hhqMzPQJ7mui6rvadqSLrySjW6988YbK353w5OgNE3F5Zlmae5wMEMogyg+lKOV3VP2GytwE4G6TYIG8eJsrU0JKSfqLrAdh/e8xtAJgiB89/hyrdsDzX72cAoeaJlPkBm2JOMHlI974AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "transparent.png", + "folder": "", + "namespace": "", + "id": "3", + "group": "", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "use_as_default": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "pbr_channel": "color", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": false, + "uuid": "797174ae-5c58-4a83-a630-eefd51007c80", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kTtIA0EURY+JokjEwhQiFltEK21UxFKiKIKBkETwV7i7MVHIrmE3YmMp2AYs/DRGLWystbWwFQTBD4i1hZWijcj6ZhNIEOPAMIc7cy9v3oNAKWdabuMoWHbBSUxGtdm5ea35hSaCQIAR3XTzseREirrr844Gdd72q6z67/5cbell14QGTXjUzDsF4SXh4Y1CXvGecNhc0dPCZ8J9jhQo/KB0o8yvirM+B1Rm2EklxoTDwlq2ho0aNlccS3hIOJK2bMkPzJY5rXhTsZVbNyt1qh+Glu2ZpNJldzPJFDHiaBiss0qOAv1y2qK4JOQ+Wsff5fvj4jLEtYopjnHWsNB9P2oGv3vrZgYHykmhKDQ9e957DzTvwHfR876OPO/7GIJPcGlX/WslGPkQvVjVIofQvgXnV1XN2IWLbeh8zOuO7kv+/DMZeDuVMc1Bxw20LpT7Vrnn5B5S0qvpa9g/gN6sZC/W+XdLbd/+fVPp3w9iNHKgdXImZAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+gFAwAFKkpaLkIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAEklEQVQ4y2NgGAWjYBSMAggAAAQQAAGFP6pyAAAAAElFTkSuQmCC" + } + ], + "variants": { + "default": { + "name": "default", + "display_name": "Default", + "uuid": "aac00620-0822-f892-856c-635a4439bbd4", + "texture_map": {}, + "excluded_nodes": [], + "is_default": true + }, + "list": [ + { + "name": "no_armor", + "display_name": "no_armor", + "uuid": "5417306e-2c69-3f36-1e3c-edd904034a36", + "texture_map": { + "240844f3-f615-fe51-0ada-d208791fbdc0": "797174ae-5c58-4a83-a630-eefd51007c80", + "34528a28-3a31-8b47-65bb-ef2b60b02401": "797174ae-5c58-4a83-a630-eefd51007c80" + }, + "excluded_nodes": [] + }, + { + "name": "no_baseplate", + "display_name": "no_baseplate", + "uuid": "bf2a6915-ec63-7ccf-3844-ea8be00b97e6", + "texture_map": { + "eb6c49b8-8e8e-a039-9a6f-ef6a06bc7924": "797174ae-5c58-4a83-a630-eefd51007c80" + }, + "excluded_nodes": [ + "98795982-9c43-6e3e-eed9-2c776a957938", + "102db36a-eeda-0e6f-d5cc-c186ecda8165", + "5e08acae-d6ca-0dfd-9360-8cdb13c7a824", + "98a28100-07e8-849a-38b7-f56abc2c2e56", + "49e67c2a-3d1d-792d-9c75-72ecbc0f92e0", + "6c53311f-ffc8-e567-ff1b-65840698e9ba", + "808e3c26-7285-af3f-a079-d8b899176dd3", + "b5b52d2c-097c-08df-6457-372fbae12445", + "215d1b02-0e64-a794-1b88-a9c5a6d7541c", + "55b812fe-7e4c-b2a5-da5b-3a8c82f9fc69", + "60d50d30-a018-429d-ba78-c5fb5804dd8a" + ] + }, + { + "name": "colors", + "display_name": "colors", + "uuid": "49521f4b-b970-e4bd-b594-2e05d2d46027", + "texture_map": {}, + "excluded_nodes": [] + } + ] + }, + "animations": [ + { + "uuid": "baae8403-f2ab-6a7a-acb5-97d80bf8e31a", + "name": "wizard", + "loop": "loop", + "override": false, + "length": 2, + "snapping": 20, + "selected": false, + "saved": false, + "path": "", + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "0", + "excluded_nodes": [], + "animators": { + "b5b52d2c-097c-08df-6457-372fbae12445": { + "name": "left_arm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-90\n+ math.sin(q.life_time * 360) * 30", + "y": "-22.5\n+ math.cos(q.life_time * 360) * 30", + "z": "0" + } + ], + "uuid": "df1fbae1-9b41-d0f4-5f6c-473441c294ff", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "215d1b02-0e64-a794-1b88-a9c5a6d7541c": { + "name": "right_arm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-90\n+ math.sin(q.life_time * 360) * 30", + "y": "22.5\n- math.cos(q.life_time * 360) * 30", + "z": "0" + } + ], + "uuid": "53b169b5-69f4-45a9-288a-de94ad2b3b90", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "7de415a2-9fdd-e4b2-3455-c3bed72eb896": { + "name": "left_hand", + "type": "locator", + "keyframes": [ + { + "channel": "commands", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0", + "commands": "particle minecraft:flame ^ ^ ^", + "execute_condition": "", + "repeat": true, + "repeat_frequency": 5 + } + ], + "uuid": "923a41b4-3218-552c-06cb-582ead7ce8e8", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "7747736f-85e2-338f-207e-53f8d3d2fa39": { + "name": "right_hand", + "type": "locator", + "keyframes": [ + { + "channel": "commands", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0", + "commands": "particle minecraft:flame ^ ^ ^", + "execute_condition": "", + "repeat": true, + "repeat_frequency": 1 + } + ], + "uuid": "fe357d53-5802-876b-c5d0-9eb8a19f573b", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "3b35d1a9-befe-066e-60df-e1f3a5ec5a78": { + "name": "pig", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "16 - math.cos(q.life_time * 180) * 16", + "y": "16 + math.sin(q.life_time * 360) * 8", + "z": "-32" + } + ], + "uuid": "08083fab-35c8-d8f0-44b0-000f720cf533", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "effects": { + "name": "Effects", + "type": "effect", + "keyframes": [ + { + "channel": "commands", + "data_points": [ + { + "commands": "say hi", + "execute_condition": "", + "repeat": false, + "repeat_frequency": 1 + } + ], + "uuid": "e8054bec-122c-6f34-6781-a4a58d46a5a6", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "commands", + "data_points": [ + { + "commands": "say bye", + "execute_condition": "", + "repeat": false, + "repeat_frequency": 1 + } + ], + "uuid": "523673ac-dff1-1729-8064-4d0258e2de2a", + "time": 2, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + } + } + }, + { + "uuid": "bd510bbf-d10c-d05a-44cb-7f116627ad9f", + "name": "walk", + "loop": "loop", + "override": false, + "length": 1, + "snapping": 20, + "selected": true, + "saved": false, + "path": "", + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "0", + "excluded_nodes": [ + { + "name": "baseplate_pivot_a", + "value": "4f000ffc-11d6-3a4b-7c8d-6b5ba483228c" + } + ], + "animators": { + "5e08acae-d6ca-0dfd-9360-8cdb13c7a824": { + "name": "armor_stand_root", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-1", + "z": "0" + } + ], + "uuid": "fe4ec2e7-5246-ebf1-b38a-521a5f3d9907", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "6c53311f-ffc8-e567-ff1b-65840698e9ba": { + "name": "body", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "1 - math.sin(q.life_time * v.walk_speed + 90) * 12.25\n", + "z": "0" + } + ], + "uuid": "6bbb9d3d-e9c7-4ee6-79fc-ca26899b722c", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "1 + math.sin(q.life_time * v.walk_speed * 2) * 0.5", + "z": "0" + } + ], + "uuid": "15fe5d50-bd56-ade8-1de5-c1e234e7d019", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "808e3c26-7285-af3f-a079-d8b899176dd3": { + "name": "head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "1 + math.sin(q.life_time * v.walk_speed + 90) * 12.25", + "z": "0" + } + ], + "uuid": "f62415e9-43b1-de7f-8c6a-ab713dafa65e", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "b5b52d2c-097c-08df-6457-372fbae12445": { + "name": "left_arm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "math.sin(q.life_time * v.walk_speed) * 8", + "y": "0", + "z": "22.5" + } + ], + "uuid": "20a2dfee-e0e7-87aa-13cb-27861c08b166", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "2", + "y": "0", + "z": "-math.sin(q.life_time * v.walk_speed) * 2" + } + ], + "uuid": "2e24c9ea-de91-bd22-2d7c-bb95813a0658", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "215d1b02-0e64-a794-1b88-a9c5a6d7541c": { + "name": "right_arm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "math.sin(q.life_time * v.walk_speed) * 22.5", + "y": "math.sin(q.life_time * v.walk_speed) * 12.25", + "z": "math.cos(q.life_time * v.walk_speed * 2) * 6 + 6" + } + ], + "uuid": "8eaf4e97-7b14-ac66-b575-4cc50963c99d", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "55b812fe-7e4c-b2a5-da5b-3a8c82f9fc69": { + "name": "left_leg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-math.sin(q.life_time * v.walk_speed) * 22.5", + "y": "0", + "z": "0" + } + ], + "uuid": "32f56ab1-fa8f-fa32-0418-45fddbb261a1", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "math.clamp(math.cos(q.life_time * v.walk_speed) * 2, 0, 10)", + "z": "-math.sin(q.life_time * v.walk_speed) * 1\n" + } + ], + "uuid": "95a4ed7e-6530-bf4a-398f-76fe64d52033", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "60d50d30-a018-429d-ba78-c5fb5804dd8a": { + "name": "right_leg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "math.sin(q.life_time * v.walk_speed) * 22.5", + "y": "0", + "z": "0" + } + ], + "uuid": "151bdae6-6e4a-718c-3317-f5c8bf83d366", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "math.clamp(-math.cos(q.life_time * v.walk_speed) * 2, 0, 10)", + "z": "math.sin(q.life_time * v.walk_speed) * 1\n" + } + ], + "uuid": "4de6bc86-4ddf-3253-9e00-3d6eb70e0e50", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "49e67c2a-3d1d-792d-9c75-72ecbc0f92e0": { + "name": "body_waist_pivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "1 - math.sin(q.life_time * v.walk_speed - 90) * 3" + } + ], + "uuid": "d3d81801-bcd6-8e3c-8c8c-1e62874345de", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "effects": { + "name": "Effects", + "type": "effect", + "keyframes": [ + { + "channel": "variant", + "data_points": [ + { + "variant": "5417306e-2c69-3f36-1e3c-edd904034a36", + "execute_condition": "", + "repeat": false, + "repeat_frequency": 1 + } + ], + "uuid": "1baa095b-e941-62df-a215-698b50c93524", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + } + } + } + ], + "animation_controllers": [], + "animation_variable_placeholders": "v.walk_speed = 360 * 1;\nv.run_speed = 360 * 1.5;\nv.stickbug_speed = 360 * 1.25;\n" +} \ No newline at end of file diff --git a/test-packs/1.20.4/datapacks/animated_java/pack.mcmeta b/test-packs/1.20.4/datapacks/animated_java/pack.mcmeta new file mode 100644 index 00000000..0a063158 --- /dev/null +++ b/test-packs/1.20.4/datapacks/animated_java/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 26, + "description": "AJ Testing DP" + } +} \ No newline at end of file diff --git a/test-packs/1.20.4/datapacks/test-framework/mcb.config.js b/test-packs/1.20.4/datapacks/test-framework/mcb.config.js new file mode 100644 index 00000000..45bc0388 --- /dev/null +++ b/test-packs/1.20.4/datapacks/test-framework/mcb.config.js @@ -0,0 +1,8 @@ +module.exports = { + libDir: null, // default: "null", determine where mcb looks for libraries, default is the bundled install location + generatedDirName: 'zzz', // default: "zzz", the name of the directory where mcb will put generated files + internalScoreboardName: 'aj.i', // default: "mcb.internal", the name of the internal scoreboard + header: null, // default: "#This file was generated by mcb\n", the header to put at the top of supported generated files + ioThreadCount: 1, // default: 1, the number of threads to use for IO operations, 1 is syncronous. + setup: null, // default: null, a function that will be called to allow binding to mcb events. +} diff --git a/test-packs/1.20.4/datapacks/test-framework/pack.mcmeta b/test-packs/1.20.4/datapacks/test-framework/pack.mcmeta new file mode 100644 index 00000000..618a6a2f --- /dev/null +++ b/test-packs/1.20.4/datapacks/test-framework/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack":{ + "pack_format": 74, + "description": ". Made with MC-Build!" + } +} \ No newline at end of file diff --git a/test-packs/1.20.4/datapacks/test-framework/package.json b/test-packs/1.20.4/datapacks/test-framework/package.json new file mode 100644 index 00000000..a0df0c86 --- /dev/null +++ b/test-packs/1.20.4/datapacks/test-framework/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/test-packs/1.20.4/datapacks/test-framework/src/test.mcb b/test-packs/1.20.4/datapacks/test-framework/src/test.mcb new file mode 100644 index 00000000..57cbd78c --- /dev/null +++ b/test-packs/1.20.4/datapacks/test-framework/src/test.mcb @@ -0,0 +1,9 @@ +function on_load minecraft:load { + tellraw @a {text:'Test Framework loaded!', color:green} +} + +function summon { + #ARGS: {args:{...}} + function animated_java:armor_stand/remove/all + $execute positioned 0 -63 0 rotated 0 0 run function animated_java:armor_stand/summon {args:$(args)} +} diff --git a/test-packs/1.20.4/resources/pack.mcmeta b/test-packs/1.20.4/resources/pack.mcmeta new file mode 100644 index 00000000..2bd10493 --- /dev/null +++ b/test-packs/1.20.4/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 22, + "description": "AJ Testing RP" + } +} \ No newline at end of file diff --git a/tools/plugins/packagerPlugin.ts b/tools/plugins/packagerPlugin.ts index e6922460..39a4f1eb 100644 --- a/tools/plugins/packagerPlugin.ts +++ b/tools/plugins/packagerPlugin.ts @@ -1,10 +1,13 @@ import { Plugin } from 'esbuild' import * as fs from 'fs' +import { readFileSync, writeFileSync } from 'fs' +import { Octokit } from 'octokit' import * as pathjs from 'path' +import * as prettier from 'prettier' import * as c from 'svelte/compiler' -import { readFileSync, writeFileSync } from 'fs' import * as svelteInternal from 'svelte/internal' -import * as prettier from 'prettier' + +const octokit = new Octokit({}) const PACKAGE = JSON.parse(fs.readFileSync('./package.json', 'utf-8')) const PLUGIN_PACKAGE_PATH = './src/pluginPackage/' @@ -16,16 +19,30 @@ const PLUGIN_REPO_PATH = 'D:/github-repos/snavesutit/blockbench-plugins/plugins/ const PLUGIN_MANIFEST_PATH = 'D:/github-repos/snavesutit/blockbench-plugins/plugins.json' const CHANGELOG_PATH = './src/pluginPackage/changelog.json' const RELEASE_NOTES_TEMPLATES = './tools/plugins/releaseNoteTemplates/' +const URL_REGEX = + /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9]{1,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/gm function replaceTemplateVars(str: string, items: Record) { - return str.replace(/\{(.+?)\}/g, str => items[str.replace(/[\{\}]/g, '')] || str) + return str.replace(/\{(.+?)\}/g, str => items[str.replace(/[\{\}]/g, '')] ?? str) +} + +const VERSION_REGEX = /(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9]+))?/ + +function getVersionNumbers(version: string) { + const match = VERSION_REGEX.exec(version) + if (!match) return null + const major = parseInt(match[1]) + const minor = parseInt(match[2]) + const patch = parseInt(match[3]) + const preRelease = match[4] ?? null + return { major, minor, patch, preRelease } } function plugin(): Plugin { return { name: 'packagerPlugin', setup(build) { - build.onEnd(() => { + build.onEnd(async () => { console.log('📦 Packaging...') fs.rmSync(DIST_PACKAGE_PATH, { recursive: true, force: true }) fs.cpSync(PLUGIN_PACKAGE_PATH, DIST_PACKAGE_PATH, { recursive: true }) @@ -53,25 +70,100 @@ function plugin(): Plugin { fs.unlinkSync(pathjs.join(DIST_PACKAGE_PATH, 'about.svelte')) if (process.env.NODE_ENV === 'production') { - console.log('📝 Creating changelogs...') - const changelog = JSON.parse(fs.readFileSync(CHANGELOG_PATH, 'utf-8')) - for (const file of fs.readdirSync(RELEASE_NOTES_TEMPLATES)) { - let content = fs.readFileSync( - pathjs.join(RELEASE_NOTES_TEMPLATES, file), - 'utf-8' - ) - content = replaceTemplateVars(content, { - version: PACKAGE.version, - changes: changelog[PACKAGE.version].categories - .find(c => c.title === 'Changes') - ?.list.map(v => '- ' + v) - .join('\n'), - fixes: changelog[PACKAGE.version].categories - .find(c => c.title === 'Fixes') - ?.list.map(v => '- ' + v) - .join('\n'), - }) - fs.writeFileSync(pathjs.join(DIST_PATH, file), content) + try { + console.log('📝 Creating changelogs...') + const rawChangelog = fs.readFileSync(CHANGELOG_PATH, 'utf-8') + const changelog = JSON.parse(rawChangelog) + for (const file of fs.readdirSync(RELEASE_NOTES_TEMPLATES)) { + let content = fs.readFileSync( + pathjs.join(RELEASE_NOTES_TEMPLATES, file), + 'utf-8' + ) + let pings = '' + const version = getVersionNumbers(PACKAGE.version) + const latestRelease = getVersionNumbers( + ( + await octokit.request('GET /repos/{owner}/{repo}/releases', { + owner: 'animated-java', + repo: 'animated-java', + per_page: 1, + headers: { + accept: 'application/vnd.github+json', + 'X-GitHub-Api-Version': '2022-11-28', + }, + }) + ).data[0].tag_name + ) + if (!latestRelease) { + throw new Error('No latest release found on github!') + } + if (version.major > latestRelease.major) { + pings += `@Major Release Ping` + } + if (version.minor > latestRelease.minor) { + pings += ` @Minor Release Ping` + } + if (version.patch > latestRelease.patch) { + pings += ` @Patch Release Ping` + } + if (latestRelease.preRelease) { + pings += ` @Pre-Release Ping` + } + if (rawChangelog.includes('[BREAKING]')) { + pings += ` @Breaking Changes Ping` + } + + const versionChangelog = changelog[PACKAGE.version] + if (!versionChangelog) { + throw new Error( + `No changelog found for version ${PACKAGE.version} in ${CHANGELOG_PATH}` + ) + } + + const changeList = versionChangelog.categories.find( + c => c.title === 'Changes' + ) + let changes = '' + if (changeList) { + changes = + '### Changes\n\n' + + changeList.list + .map(v => '- ' + v) + .join('\n') + .replace('[BREAKING]', '⚠️ **BREAKING CHANGE** — ') + } + const fixList = versionChangelog.categories.find( + c => c.title === 'Fixes' + ) + let fixes = '' + if (fixList) { + fixes = + '### Fixes\n\n' + + fixList.list + .map(v => '- ' + v) + .join('\n') + .replace('[BREAKING]', '⚠️ **BREAKING CHANGE** — ') + } + + content = replaceTemplateVars(content, { + version: PACKAGE.version, + changes, + fixes, + pings: pings.trim(), + }) + + if (content.includes('[[ESCAPE_URLS]]')) { + content = content + .replace('[[ESCAPE_URLS]]', '') + // @ts-expect-error + .replaceAll(URL_REGEX, (match: string) => '<' + match + '>') + } + + fs.writeFileSync(pathjs.join(DIST_PATH, file), content) + } + } catch (e) { + console.error('Error creating changelogs:', e) + throw e } if (fs.existsSync(PLUGIN_REPO_PATH)) { diff --git a/tools/plugins/releaseNoteTemplates/discord_release_notes_template b/tools/plugins/releaseNoteTemplates/discord_release_notes_template index e02fda8d..5268f35b 100644 --- a/tools/plugins/releaseNoteTemplates/discord_release_notes_template +++ b/tools/plugins/releaseNoteTemplates/discord_release_notes_template @@ -1,18 +1,16 @@ -# :AnimatedJava: Animated Java Release {version} +[[ESCAPE_URLS]] -### Changes +# :AnimatedJava: Animated Java Release v{version} {changes} -### Fixes - {fixes} ## How to Install -For now, you can download and install the latest build of AJ [here]() or install it via this link: - -Once [this PR]() has been merged, you can install the latest release of AJ from the Blockbench plugin list. -[Follow this tutorial]() if you don't know how to install plugins in Blockbench. +For now, you can download and install the latest build of AJ [here](https://builds.animated-java.dev/latest) or install it via this link: +https://builds.animated-java.dev/latest/download/animated_java.js +Once [this PR](https://github.com/JannisX11/blockbench-plugins/pull/{pr_number}) has been merged, you can install the latest release of AJ from the Blockbench plugin list. +[Follow this tutorial](https://animated-java.github.io/docs/getting-started/installing-animated-java) if you don't know how to install plugins in Blockbench. -{pings} +-# {pings} diff --git a/tools/plugins/releaseNoteTemplates/github_release_notes_template b/tools/plugins/releaseNoteTemplates/github_release_notes_template index 387714a6..198dd399 100644 --- a/tools/plugins/releaseNoteTemplates/github_release_notes_template +++ b/tools/plugins/releaseNoteTemplates/github_release_notes_template @@ -1,16 +1,12 @@ -# Animated Java Release {version} - -### Changes +# Animated Java Release v{version} {changes} -### Fixes - {fixes} ## How to Install For now, you can download and install the latest build of AJ [here](https://builds.animated-java.dev/latest) or install it via this link: - +https://builds.animated-java.dev/latest/download/animated_java.js Once [this PR](https://github.com/JannisX11/blockbench-plugins/pull/{pr_number}) has been merged, you can install the latest release of AJ from the Blockbench plugin list. [Follow this tutorial](https://animated-java.github.io/docs/getting-started/installing-animated-java) if you don't know how to install plugins in Blockbench. diff --git a/tsconfig.json b/tsconfig.json index 4ea32954..4a0b2a67 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "noImplicitAny": true, "module": "ES2022", "target": "ES2022", + "lib": ["ES2022"], "moduleResolution": "node", "strict": true, "types": ["node", "./types/blockbench-types", "svelte"], diff --git a/yarn.lock b/yarn.lock index 0a1dddaf..781f845b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -907,6 +907,222 @@ codejar "^3.5.0" svelte "^3.42.3" +"@octokit/app@^15.1.6": + version "15.1.6" + resolved "https://registry.yarnpkg.com/@octokit/app/-/app-15.1.6.tgz#055f8d59ead26e1bf0a0efe127ff838b49cef7a2" + integrity sha512-WELCamoCJo9SN0lf3SWZccf68CF0sBNPQuLYmZ/n87p5qvBJDe9aBtr5dHkh7T9nxWZ608pizwsUbypSzZAiUw== + dependencies: + "@octokit/auth-app" "^7.2.1" + "@octokit/auth-unauthenticated" "^6.1.3" + "@octokit/core" "^6.1.5" + "@octokit/oauth-app" "^7.1.6" + "@octokit/plugin-paginate-rest" "^12.0.0" + "@octokit/types" "^14.0.0" + "@octokit/webhooks" "^13.6.1" + +"@octokit/auth-app@^7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-7.2.1.tgz#ed3d3ae487c5b42db88b10e95175d1a8a8965cbf" + integrity sha512-4jaopCVOtWN0V8qCx/1s2pkRqC6tcvIQM3kFB99eIpsP53GfsoIKO08D94b83n/V3iGihHmxWR2lXzE0NicUGg== + dependencies: + "@octokit/auth-oauth-app" "^8.1.4" + "@octokit/auth-oauth-user" "^5.1.4" + "@octokit/request" "^9.2.3" + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + toad-cache "^3.7.0" + universal-github-app-jwt "^2.2.0" + universal-user-agent "^7.0.0" + +"@octokit/auth-oauth-app@^8.1.3", "@octokit/auth-oauth-app@^8.1.4": + version "8.1.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-8.1.4.tgz#4a41ed59ae81c36215976e3523a671d5eacb6d52" + integrity sha512-71iBa5SflSXcclk/OL3lJzdt4iFs56OJdpBGEBl1wULp7C58uiswZLV6TdRaiAzHP1LT8ezpbHlKuxADb+4NkQ== + dependencies: + "@octokit/auth-oauth-device" "^7.1.5" + "@octokit/auth-oauth-user" "^5.1.4" + "@octokit/request" "^9.2.3" + "@octokit/types" "^14.0.0" + universal-user-agent "^7.0.0" + +"@octokit/auth-oauth-device@^7.1.5": + version "7.1.5" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-7.1.5.tgz#dd22ed25539c4dadd27bfa3afccd244434fb4c48" + integrity sha512-lR00+k7+N6xeECj0JuXeULQ2TSBB/zjTAmNF2+vyGPDEFx1dgk1hTDmL13MjbSmzusuAmuJD8Pu39rjp9jH6yw== + dependencies: + "@octokit/oauth-methods" "^5.1.5" + "@octokit/request" "^9.2.3" + "@octokit/types" "^14.0.0" + universal-user-agent "^7.0.0" + +"@octokit/auth-oauth-user@^5.1.3", "@octokit/auth-oauth-user@^5.1.4": + version "5.1.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-5.1.4.tgz#c8286e2812d0945e737563d94a1046b44078a06d" + integrity sha512-4tJRofMHm6ZCd3O2PVgboBbQ/lNtacREeaihet0+wCATZmvPK+jjg2K6NjBfY69An3yzQdmkcMeiaOOoxOPr7Q== + dependencies: + "@octokit/auth-oauth-device" "^7.1.5" + "@octokit/oauth-methods" "^5.1.5" + "@octokit/request" "^9.2.3" + "@octokit/types" "^14.0.0" + universal-user-agent "^7.0.0" + +"@octokit/auth-token@^5.0.0": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-5.1.2.tgz#68a486714d7a7fd1df56cb9bc89a860a0de866de" + integrity sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw== + +"@octokit/auth-unauthenticated@^6.1.2", "@octokit/auth-unauthenticated@^6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@octokit/auth-unauthenticated/-/auth-unauthenticated-6.1.3.tgz#7f6eca87eb5cdfdccacd92399de6fd9607c61256" + integrity sha512-d5gWJla3WdSl1yjbfMpET+hUSFCE15qM0KVSB0H1shyuJihf/RL1KqWoZMIaonHvlNojkL9XtLFp8QeLe+1iwA== + dependencies: + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + +"@octokit/core@^6.1.4", "@octokit/core@^6.1.5": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-6.1.5.tgz#c2842aae87c2c2130b7dd33e8caa0f642dde2c67" + integrity sha512-vvmsN0r7rguA+FySiCsbaTTobSftpIDIpPW81trAmsv9TGxg3YCujAxRYp/Uy8xmDgYCzzgulG62H7KYUFmeIg== + dependencies: + "@octokit/auth-token" "^5.0.0" + "@octokit/graphql" "^8.2.2" + "@octokit/request" "^9.2.3" + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + before-after-hook "^3.0.2" + universal-user-agent "^7.0.0" + +"@octokit/endpoint@^10.1.4": + version "10.1.4" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-10.1.4.tgz#8783be38a32b95af8bcb6523af20ab4eed7a2adb" + integrity sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA== + dependencies: + "@octokit/types" "^14.0.0" + universal-user-agent "^7.0.2" + +"@octokit/graphql@^8.2.2": + version "8.2.2" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-8.2.2.tgz#3db48c4ffdf07f99600cee513baf45e73eced4d1" + integrity sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA== + dependencies: + "@octokit/request" "^9.2.3" + "@octokit/types" "^14.0.0" + universal-user-agent "^7.0.0" + +"@octokit/oauth-app@^7.1.6": + version "7.1.6" + resolved "https://registry.yarnpkg.com/@octokit/oauth-app/-/oauth-app-7.1.6.tgz#f55c7ab2381028a71564aa6a1baf3921c620c437" + integrity sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA== + dependencies: + "@octokit/auth-oauth-app" "^8.1.3" + "@octokit/auth-oauth-user" "^5.1.3" + "@octokit/auth-unauthenticated" "^6.1.2" + "@octokit/core" "^6.1.4" + "@octokit/oauth-authorization-url" "^7.1.1" + "@octokit/oauth-methods" "^5.1.4" + "@types/aws-lambda" "^8.10.83" + universal-user-agent "^7.0.0" + +"@octokit/oauth-authorization-url@^7.0.0", "@octokit/oauth-authorization-url@^7.1.1": + version "7.1.1" + resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-7.1.1.tgz#0e17c2225eb66b58ec902d02b6f1315ffe9ff04b" + integrity sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA== + +"@octokit/oauth-methods@^5.1.4", "@octokit/oauth-methods@^5.1.5": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-5.1.5.tgz#647fcd135cedd2371452631ef131497e8037b008" + integrity sha512-Ev7K8bkYrYLhoOSZGVAGsLEscZQyq7XQONCBBAl2JdMg7IT3PQn/y8P0KjloPoYpI5UylqYrLeUcScaYWXwDvw== + dependencies: + "@octokit/oauth-authorization-url" "^7.0.0" + "@octokit/request" "^9.2.3" + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + +"@octokit/openapi-types@^25.0.0": + version "25.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-25.0.0.tgz#adeead36992abf966e89dcd53518d8b0dc910e0d" + integrity sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw== + +"@octokit/openapi-webhooks-types@11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-webhooks-types/-/openapi-webhooks-types-11.0.0.tgz#27b170627e48ff8a2f6fffb159263dc20804917c" + integrity sha512-ZBzCFj98v3SuRM7oBas6BHZMJRadlnDoeFfvm1olVxZnYeU6Vh97FhPxyS5aLh5pN51GYv2I51l/hVUAVkGBlA== + +"@octokit/plugin-paginate-graphql@^5.2.4": + version "5.2.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-5.2.4.tgz#b6afda7b3f24cb93d2ab822ec8eac664a5d325d0" + integrity sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA== + +"@octokit/plugin-paginate-rest@^12.0.0": + version "12.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz#4f3c1caefd6f85abb4e95c1c0a38af4568cb4dae" + integrity sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA== + dependencies: + "@octokit/types" "^14.0.0" + +"@octokit/plugin-rest-endpoint-methods@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz#dc4c44b7ac5b1a69596b026ba6d796c5add1668a" + integrity sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ== + dependencies: + "@octokit/types" "^14.0.0" + +"@octokit/plugin-retry@^7.2.1": + version "7.2.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-7.2.1.tgz#3ec7065ad451c7e6bd64c4fb16c98006a5ff2f66" + integrity sha512-wUc3gv0D6vNHpGxSaR3FlqJpTXGWgqmk607N9L3LvPL4QjaxDgX/1nY2mGpT37Khn+nlIXdljczkRnNdTTV3/A== + dependencies: + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + bottleneck "^2.15.3" + +"@octokit/plugin-throttling@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-10.0.0.tgz#3ca3c2d3b6e1deb263462f5d35ce6727527116ef" + integrity sha512-Kuq5/qs0DVYTHZuBAzCZStCzo2nKvVRo/TDNhCcpC2TKiOGz/DisXMCvjt3/b5kr6SCI1Y8eeeJTHBxxpFvZEg== + dependencies: + "@octokit/types" "^14.0.0" + bottleneck "^2.15.3" + +"@octokit/request-error@^6.1.7", "@octokit/request-error@^6.1.8": + version "6.1.8" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-6.1.8.tgz#3c7ce1ca6721eabd43dbddc76b44860de1fdea75" + integrity sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ== + dependencies: + "@octokit/types" "^14.0.0" + +"@octokit/request@^9.2.3": + version "9.2.3" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-9.2.3.tgz#00d023ad690903d952e4dd31e3f5804ef98fcd24" + integrity sha512-Ma+pZU8PXLOEYzsWf0cn/gY+ME57Wq8f49WTXA8FMHp2Ps9djKw//xYJ1je8Hm0pR2lU9FUGeJRWOtxq6olt4w== + dependencies: + "@octokit/endpoint" "^10.1.4" + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + fast-content-type-parse "^2.0.0" + universal-user-agent "^7.0.2" + +"@octokit/types@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-14.0.0.tgz#bbd1d31e2269940789ef143b1c37918aae09adc4" + integrity sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA== + dependencies: + "@octokit/openapi-types" "^25.0.0" + +"@octokit/webhooks-methods@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@octokit/webhooks-methods/-/webhooks-methods-5.1.1.tgz#192f11a1f115702833f033293e2fef8f69f612e4" + integrity sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg== + +"@octokit/webhooks@^13.6.1": + version "13.9.0" + resolved "https://registry.yarnpkg.com/@octokit/webhooks/-/webhooks-13.9.0.tgz#1dd2f1c6b4616bd91735b9aa5a25aa2cdf5fff5c" + integrity sha512-5Kva+/Gi7c+39d0/0MM/v/5RCZuwqm75fUD+t7Es3Iz/adui54GnjfNmJpkkPkXGC+5IWnEvgqwY6gstK/JlUQ== + dependencies: + "@octokit/openapi-webhooks-types" "11.0.0" + "@octokit/request-error" "^6.1.7" + "@octokit/webhooks-methods" "^5.1.1" + "@polka/url@^1.0.0-next.20": version "1.0.0-next.25" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" @@ -1077,6 +1293,11 @@ dependencies: defer-to-connect "^2.0.0" +"@types/aws-lambda@^8.10.83": + version "8.10.149" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.149.tgz#77c7bde809425546d03626e51bab8181bc5d24c9" + integrity sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA== + "@types/cacheable-request@^6.0.1": version "6.0.3" resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" @@ -1555,6 +1776,11 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +before-after-hook@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-3.0.2.tgz#d5665a5fa8b62294a5aa0a499f933f4a1016195d" + integrity sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A== + bl@^1.0.0: version "1.2.3" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" @@ -1586,6 +1812,11 @@ boolean@^3.0.1: resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== +bottleneck@^2.15.3: + version "2.19.5" + resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2352,6 +2583,11 @@ extract-zip@^2.0.1: optionalDependencies: "@types/yauzl" "^2.9.1" +fast-content-type-parse@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz#c236124534ee2cb427c8d8e5ba35a4856947847b" + integrity sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -3306,6 +3542,22 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +octokit@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/octokit/-/octokit-4.1.3.tgz#8855681813a83b69a65a4bec8a77075d241f87df" + integrity sha512-PP+EL8h4xPCE9NBo6jXq6I2/EiTXsn1cg9F0IZehHBv/qhuQpyGMFElEB17miWKciuT6vRHiFFiG9+FoXOmg6A== + dependencies: + "@octokit/app" "^15.1.6" + "@octokit/core" "^6.1.5" + "@octokit/oauth-app" "^7.1.6" + "@octokit/plugin-paginate-graphql" "^5.2.4" + "@octokit/plugin-paginate-rest" "^12.0.0" + "@octokit/plugin-rest-endpoint-methods" "^14.0.0" + "@octokit/plugin-retry" "^7.2.1" + "@octokit/plugin-throttling" "^10.0.0" + "@octokit/request-error" "^6.1.8" + "@octokit/types" "^14.0.0" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -4128,6 +4380,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toad-cache@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/toad-cache/-/toad-cache-3.7.0.tgz#b9b63304ea7c45ec34d91f1d2fa513517025c441" + integrity sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw== + totalist@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" @@ -4197,6 +4454,16 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +universal-github-app-jwt@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-2.2.2.tgz#38537e5a7d154085a35f97601a5e30e9e17717df" + integrity sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw== + +universal-user-agent@^7.0.0, universal-user-agent@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-7.0.3.tgz#c05870a58125a2dc00431f2df815a77fe69736be" + integrity sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"