diff --git a/package.json b/package.json index 3804d9c2..323bd300 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "title": "Animated Java", "icon": "icon.svg", "description": "Effortlessly craft complex animations for Minecraft: Java Edition", - "version": "1.8.0-beta.3", + "version": "1.8.0-beta.4", "min_blockbench_version": "4.12.0", "max_blockbench_version": "4.12.6", "variant": "desktop", diff --git a/src/formats/blueprint/dfu.ts b/src/formats/blueprint/dfu.ts index 9d6944a4..3437532e 100644 --- a/src/formats/blueprint/dfu.ts +++ b/src/formats/blueprint/dfu.ts @@ -58,24 +58,28 @@ export function process(model: any): IBlueprintFormatJSON { console.groupEnd() } } + // Versions below this are post 0.3.10. I changed the versioning system to use the AJ version instead of a unique format version. - if (compareVersions('0.3.10', model.meta.format_version)) model = updateModelTo0_3_10(model) - // v1.0.0-pre1 - if (compareVersions('0.5.0', model.meta.format_version)) model = updateModelTo1_0pre1(model) - // v1.0.0-pre6 - if (compareVersions('0.5.5', model.meta.format_version)) model = updateModelTo1_0pre6(model) - // v1.0.0-pre7 - if (compareVersions('0.5.6', model.meta.format_version)) model = updateModelTo1_0pre7(model) - // v1.0.0-pre8 - if (compareVersions('0.5.7', model.meta.format_version)) model = updateModelTo1_0pre8(model) - // v1.4.0 - if (compareVersions('1.4.0', model.meta.format_version)) model = updateModelTo1_4_0(model) - // v1.6.3 - if (compareVersions('1.6.3', model.meta.format_version)) model = updateModelTo1_6_3(model) - // v1.6.5 - if (compareVersions('1.6.5', model.meta.format_version)) model = updateModelTo1_6_5(model) - // v1.8.0 - if (compareVersions('1.8.0', model.meta.format_version)) model = updateModelTo1_8_0(model) + switch (true) { + case compareVersions('0.3.10', model.meta.format_version): + model = updateModelTo0_3_10(model) + case compareVersions('0.5.0', model.meta.format_version): + model = updateModelTo1_0pre1(model) + case compareVersions('0.5.5', model.meta.format_version): + model = updateModelTo1_0pre6(model) + case compareVersions('0.5.6', model.meta.format_version): + model = updateModelTo1_0pre7(model) + case compareVersions('0.5.7', model.meta.format_version): + model = updateModelTo1_0pre8(model) + case compareVersions('1.4.0', model.meta.format_version): + model = updateModelTo1_4_0(model) + case compareVersions('1.6.3', model.meta.format_version): + model = updateModelTo1_6_3(model) + case compareVersions('1.6.5', model.meta.format_version): + model = updateModelTo1_6_5(model) + case compareVersions('1.8.0', model.meta.format_version): + model = updateModelTo1_8_0(model) + } // Remove unknown blueprint settings const defaultSettings = getDefaultProjectSettings() @@ -100,29 +104,31 @@ export function process(model: any): IBlueprintFormatJSON { // region F1.0 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelToOld1_0(model: any) { - console.log('Processing model format 1.0', JSON.parse(JSON.stringify(model))) - if (model.meta.settings) { + console.log('Processing model format 1.0', model) + const fixed = JSON.parse(JSON.stringify(model)) + + if (fixed.meta.settings) { console.log('Upgrading settings...') const animatedJava: any = { settings: { - project_name: model.meta.settings.animatedJava.projectName, - verbose: model.meta.settings.animatedJava.verbose, - rig_item: model.meta.settings.animatedJava.rigItem, - rig_item_model: model.meta.settings.animatedJava.predicateFilePath, - rig_export_folder: model.meta.settings.animatedJava.rigModelsExportFolder, + project_name: fixed.meta.settings.animatedJava.projectName, + verbose: fixed.meta.settings.animatedJava.verbose, + rig_item: fixed.meta.settings.animatedJava.rigItem, + rig_item_model: fixed.meta.settings.animatedJava.predicateFilePath, + rig_export_folder: fixed.meta.settings.animatedJava.rigModelsExportFolder, }, exporter_settings: {}, variants: [], } - model.animated_java = animatedJava + fixed.animated_java = animatedJava } - if (model.meta.variants) { + if (fixed.meta.variants) { console.log('Upgrading variants...') const variants: any[] = [] - for (const [name, variant] of Object.entries(model.meta.variants as Record)) { + for (const [name, variant] of Object.entries(fixed.meta.variants as Record)) { variants.push({ name, uuid: guid(), @@ -134,17 +140,17 @@ function updateModelToOld1_0(model: any) { }) } - model.animated_java.variants = variants + fixed.animated_java.variants = variants } if ( - model.animations?.find((a: any) => + fixed.animations?.find((a: any) => Object.keys(a.animators as Record).find(name => name === 'effects') ) ) { console.log('Upgrading effects...') - for (const animation of model.animations) { + for (const animation of fixed.animations) { const effects = animation.animators.effects if (!effects) continue for (const keyframe of effects.keyframes) { @@ -159,35 +165,44 @@ function updateModelToOld1_0(model: any) { } } - console.log('Upgrading effects complete', model.animations) + console.log('Upgrading effects complete', fixed.animations) } - model.meta.format_version = PACKAGE.version + fixed.meta.format_version = PACKAGE.version + + delete fixed.meta.variants + delete fixed.meta.settings + delete fixed.meta.uuid - delete model.meta.variants - delete model.meta.settings - delete model.meta.uuid + return fixed } // region F1.1 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelToOld1_1(model: any) { - console.log('Processing model format 1.1', JSON.parse(JSON.stringify(model))) - model.animated_java.settings.resource_pack_mcmeta = - model.animated_java.settings.resource_pack_folder - delete model.animated_java.settings.resource_pack_folder + console.log('Processing model format 1.1', model) + const fixed = JSON.parse(JSON.stringify(model)) + + fixed.animated_java.settings.resource_pack_mcmeta = + fixed.animated_java.settings.resource_pack_folder + delete fixed.animated_java.settings.resource_pack_folder + const animationExporterSettings = - model.animated_java.exporter_settings['animated_java:animation_exporter'] - if (!animationExporterSettings) return - animationExporterSettings.datapack_mcmeta = animationExporterSettings.datapack_folder - delete animationExporterSettings.datapack_folder + fixed.animated_java.exporter_settings['animated_java:animation_exporter'] + if (animationExporterSettings) { + animationExporterSettings.datapack_mcmeta = animationExporterSettings.datapack_folder + delete animationExporterSettings.datapack_folder + } + + return fixed } // region F1.2 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelToOld1_2(model: any) { - console.log('Processing model format 1.2', JSON.parse(JSON.stringify(model))) - for (const variant of model.animated_java.variants) { + console.log('Processing model format 1.2', model) + const fixed = JSON.parse(JSON.stringify(model)) + for (const variant of fixed.animated_java.variants) { for (const [from, to] of Object.entries(variant.textureMap as Record)) { const fromUUID = from.split('::')[0] const toUUID = to.split('::')[0] @@ -195,52 +210,60 @@ function updateModelToOld1_2(model: any) { delete variant.textureMap[from] } } + return fixed } // region F1.3 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelToOld1_3(model: any) { - console.log('Processing model format 1.3', JSON.parse(JSON.stringify(model))) - if (model.animated_java.settings.exporter === 'animated_java:animation_exporter') { - model.animated_java.settings.exporter = 'animated_java:datapack_exporter' + console.log('Processing model format 1.3', model) + const fixed = JSON.parse(JSON.stringify(model)) + if (fixed.animated_java.settings.exporter === 'animated_java:animation_exporter') { + fixed.animated_java.settings.exporter = 'animated_java:datapack_exporter' } - if (model.animated_java.exporter_settings['animated_java:animation_exporter']) { - model.animated_java.exporter_settings['animated_java:datapack_exporter'] = - model.animated_java.exporter_settings['animated_java:animation_exporter'] - delete model.animated_java.exporter_settings['animated_java:animation_exporter'] + if (fixed.animated_java.exporter_settings['animated_java:animation_exporter']) { + fixed.animated_java.exporter_settings['animated_java:datapack_exporter'] = + fixed.animated_java.exporter_settings['animated_java:animation_exporter'] + delete fixed.animated_java.exporter_settings['animated_java:animation_exporter'] } + return fixed } // region F1.4 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelToOld1_4(model: any) { - console.log('Processing model format 1.4', JSON.parse(JSON.stringify(model))) - const exporter = model.animated_java.exporter_settings['animated_java:datapack_exporter'] + console.log('Processing model format 1.4', model) + const fixed = JSON.parse(JSON.stringify(model)) + const exporter = fixed.animated_java.exporter_settings['animated_java:datapack_exporter'] if (exporter && exporter.outdated_rig_warning !== undefined) { - model.animated_java.exporter_settings[ + fixed.animated_java.exporter_settings[ 'animated_java:datapack_exporter' ].enable_outdated_rig_warning = - model.animated_java.exporter_settings[ + fixed.animated_java.exporter_settings[ 'animated_java:datapack_exporter' ].outdated_rig_warning - delete model.animated_java.exporter_settings['animated_java:datapack_exporter'] + delete fixed.animated_java.exporter_settings['animated_java:datapack_exporter'] .outdated_rig_warning } + return fixed } // region v0.3.10 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo0_3_10(model: any) { - console.log('Processing model for AJ 0.3.10', JSON.parse(JSON.stringify(model))) - model.meta ??= {} - model.meta.model_format = 'animated_java/blueprint' - return model + console.log('Processing model for AJ 0.3.10', model) + const fixed = JSON.parse(JSON.stringify(model)) + + fixed.meta ??= {} + fixed.meta.model_format = 'animated_java/blueprint' + + return fixed } // region v1.0.0-pre1 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_0pre1(model: any) { - console.log('Processing model format 1.0.0-pre1', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.0.0-pre1', model) const defaultSettings = getDefaultProjectSettings() const datapackExporterSettings = @@ -437,121 +460,128 @@ function updateModelTo1_0pre1(model: any) { // region v1.0.0-pre6 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_0pre6(model: any) { - console.log('Processing model format 1.0.0-pre6', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.0.0-pre6', model) + const fixed = JSON.parse(JSON.stringify(model)) - const defaultVariant = model.variants.default + const defaultVariant = fixed.variants.default if (defaultVariant?.excluded_bones) { defaultVariant.excluded_nodes = defaultVariant.excluded_bones delete defaultVariant.excluded_bones } - for (const variant of model?.variants?.list ?? []) { + for (const variant of fixed.variants?.list ?? []) { if (variant?.excluded_bones) { variant.excluded_nodes = variant.excluded_bones delete variant.excluded_bones } } - for (const animation of model?.animations ?? []) { + for (const animation of fixed.animations ?? []) { if (animation?.excluded_bones) { animation.excluded_nodes = animation.excluded_bones delete animation.excluded_bones } } - return model + return fixed } // region v1.0.0-pre7 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_0pre7(model: any) { - console.log('Processing model format 1.0.0-pre7', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.0.0-pre7', model) + const fixed = JSON.parse(JSON.stringify(model)) - if (model.project_settings.enable_resource_pack !== undefined) { - model.project_settings.resource_pack_export_mode = model.project_settings + if (fixed.project_settings.enable_resource_pack !== undefined) { + fixed.project_settings.resource_pack_export_mode = fixed.project_settings .enable_resource_pack ? 'raw' : 'none' - delete model.project_settings.enable_resource_pack + delete fixed.project_settings.enable_resource_pack } - if (model.project_settings.enable_data_pack !== undefined) { - model.project_settings.data_pack_export_mode = model.project_settings.enable_data_pack + if (fixed.project_settings.enable_data_pack !== undefined) { + fixed.project_settings.data_pack_export_mode = fixed.project_settings.enable_data_pack ? 'raw' : 'none' - delete model.project_settings.enable_data_pack + delete fixed.project_settings.enable_data_pack } - return model + return fixed } // region v1.0.0-pre8 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_0pre8(model: any) { - console.log('Processing model format 1.0.0-pre8', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.0.0-pre8', model) + const fixed = JSON.parse(JSON.stringify(model)) - if (model.project_settings) { - model.blueprint_settings = model.project_settings - delete model.project_settings + if (fixed.project_settings) { + fixed.blueprint_settings = fixed.project_settings + delete fixed.project_settings } - return model + return fixed } // region v1.4.0 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_4_0(model: any) { - console.log('Processing model format 1.4.0', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.4.0', model) + const fixed = JSON.parse(JSON.stringify(model)) // Separated advanced folders from advanced settings - if (model.blueprint_settings.enable_advanced_resource_pack_settings) { - model.blueprint_settings.enable_advanced_resource_pack_folders = true + if (fixed.blueprint_settings.enable_advanced_resource_pack_settings) { + fixed.blueprint_settings.enable_advanced_resource_pack_folders = true } // Custom model data is now hidden behind advanced settings if ( - model.blueprint_settings.custom_model_data_offset !== undefined && - model.blueprint_settings.custom_model_data_offset !== 0 + fixed.blueprint_settings.custom_model_data_offset !== undefined && + fixed.blueprint_settings.custom_model_data_offset !== 0 ) { - model.blueprint_settings.enable_advanced_resource_pack_settings = true + fixed.blueprint_settings.enable_advanced_resource_pack_settings = true } - return model + return fixed } // region v1.6.3 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_6_3(model: any) { - console.log('Processing model format 1.6.3', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.6.3', model) + const fixed = JSON.parse(JSON.stringify(model)) // Automatically add a transparent texture to the model if it uses the old transparent texture in any of it's variants. - for (const variant of model.variants.list) { + for (const variant of fixed.variants.list) { if (Object.values(variant.texture_map).includes('797174ae-5c58-4a83-a630-eefd51007c80')) { const texture = new Texture( { name: 'transparent' }, '797174ae-5c58-4a83-a630-eefd51007c80' ).fromDataURL(TransparentTexture) - model.textures.push(texture.getSaveCopy()) + fixed.textures.push(texture.getSaveCopy()) break } } - return model + return fixed } // region v1.6.5 // eslint-disable-next-line @typescript-eslint/naming-convention function updateModelTo1_6_5(model: any) { - console.log('Processing model format 1.6.5', JSON.parse(JSON.stringify(model))) + console.log('Processing model format 1.6.5', model) + const fixed = JSON.parse(JSON.stringify(model)) // Update target_minecraft_version to an array if it's a string - if (typeof model.blueprint_settings?.target_minecraft_version === 'string') { - model.blueprint_settings.target_minecraft_version = [ - model.blueprint_settings.target_minecraft_version, + if (typeof fixed.blueprint_settings?.target_minecraft_version === 'string') { + fixed.blueprint_settings.target_minecraft_versions = [ + fixed.blueprint_settings.target_minecraft_version, ] + delete fixed.blueprint_settings.target_minecraft_version } - return model + return fixed } // region v1.8.0 diff --git a/src/systems/datapackCompiler/1.20.4/animation.mcb b/src/systems/datapackCompiler/1.20.4/animation.mcb index 29571561..f641b8e6 100644 --- a/src/systems/datapackCompiler/1.20.4/animation.mcb +++ b/src/systems/datapackCompiler/1.20.4/animation.mcb @@ -139,7 +139,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -161,7 +161,7 @@ dir animations { REPEAT (animations) as animation { dir <%animation.storage_name%> { function play { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -173,7 +173,7 @@ dir animations { } function stop { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -184,19 +184,19 @@ dir animations { } function pause { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function resume { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s add <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function next_frame { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> execute if score @s <%OBJECTIVES.FRAME(animation.storage_name)%> matches <%animation.duration%>.. run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> 1 data remove storage <%temp_storage%> args @@ -208,7 +208,7 @@ dir animations { function set_frame { # Sets the frame without interpolation #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -217,7 +217,7 @@ dir animations { function apply_frame { #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -227,7 +227,7 @@ dir animations { function tween { # Attempts to smoothly transition from the currently playing animation into this one. #ARGS: {duration: int, to_frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -478,7 +478,7 @@ dir animations { } function pause_all { # Pauses all animations - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> REPEAT (animations) as animation { tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> @@ -722,7 +722,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -759,7 +759,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -782,7 +782,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -824,7 +824,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -850,7 +850,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -904,7 +904,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -944,7 +944,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -975,7 +975,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -1093,7 +1093,7 @@ IF (has_locators || has_cameras) { function apply_default_pose { # Changes the pose of the rig to the the default pose with interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities @@ -1113,7 +1113,7 @@ function apply_default_pose { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.20.4/global.mcb b/src/systems/datapackCompiler/1.20.4/global.mcb index 5f829fe7..0c224060 100644 --- a/src/systems/datapackCompiler/1.20.4/global.mcb +++ b/src/systems/datapackCompiler/1.20.4/global.mcb @@ -118,7 +118,7 @@ dir global { # Removes locators and cameras owned by the rig, even if they're not included in the currently loaded export. function outdated_rig { # Assert that the function is being executed as a root entity. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.GLOBAL_ROOT()%> execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { data remove storage <%temp_storage%> args diff --git a/src/systems/datapackCompiler/1.20.4/global.mcbt b/src/systems/datapackCompiler/1.20.4/global.mcbt index 533779a3..5b9239b5 100644 --- a/src/systems/datapackCompiler/1.20.4/global.mcbt +++ b/src/systems/datapackCompiler/1.20.4/global.mcbt @@ -1,7 +1,7 @@ template debug { - with assert:literal executed_as_root_entity:literal { + with assert:literal executed_as_root_entity:literal root_tag:literal { IF (debug_mode) { - execute unless entity @s[type=minecraft:item_display,tag=<%TAGS.PROJECT_ROOT(export_namespace)%>] run return run \ + execute unless entity @s[type=minecraft:item_display,tag=<%root_tag%>] run return run \ tellraw @a <%TELLRAW.FUNCTION_NOT_EXECUTED_AS_ROOT_ERROR(context.functions.at(-1))%> } } diff --git a/src/systems/datapackCompiler/1.20.4/static.mcb b/src/systems/datapackCompiler/1.20.4/static.mcb index a767e11d..8b66fd80 100644 --- a/src/systems/datapackCompiler/1.20.4/static.mcb +++ b/src/systems/datapackCompiler/1.20.4/static.mcb @@ -98,7 +98,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -303,7 +303,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -340,7 +340,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -363,7 +363,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -405,7 +405,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -431,7 +431,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -485,7 +485,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -525,7 +525,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -556,7 +556,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -674,7 +674,7 @@ IF (has_locators || has_cameras) { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.20.5/animation.mcb b/src/systems/datapackCompiler/1.20.5/animation.mcb index 0de787e0..853fb960 100644 --- a/src/systems/datapackCompiler/1.20.5/animation.mcb +++ b/src/systems/datapackCompiler/1.20.5/animation.mcb @@ -139,7 +139,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -161,7 +161,7 @@ dir animations { REPEAT (animations) as animation { dir <%animation.storage_name%> { function play { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -173,7 +173,7 @@ dir animations { } function stop { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -184,19 +184,19 @@ dir animations { } function pause { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function resume { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s add <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function next_frame { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> execute if score @s <%OBJECTIVES.FRAME(animation.storage_name)%> matches <%animation.duration%>.. run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> 1 data remove storage <%temp_storage%> args @@ -208,7 +208,7 @@ dir animations { function set_frame { # Sets the frame without interpolation #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -217,7 +217,7 @@ dir animations { function apply_frame { #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -227,7 +227,7 @@ dir animations { function tween { # Attempts to smoothly transition from the currently playing animation into this one. #ARGS: {duration: int, to_frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -478,7 +478,7 @@ dir animations { } function pause_all { # Pauses all animations - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> REPEAT (animations) as animation { tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> @@ -722,7 +722,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -759,7 +759,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -782,7 +782,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -824,7 +824,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -850,7 +850,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -904,7 +904,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -944,7 +944,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -975,7 +975,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -1093,7 +1093,7 @@ IF (has_locators || has_cameras) { function apply_default_pose { # Changes the pose of the rig to the the default pose with interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities @@ -1113,7 +1113,7 @@ function apply_default_pose { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.20.5/static.mcb b/src/systems/datapackCompiler/1.20.5/static.mcb index 291df560..7b3f906f 100644 --- a/src/systems/datapackCompiler/1.20.5/static.mcb +++ b/src/systems/datapackCompiler/1.20.5/static.mcb @@ -98,7 +98,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -303,7 +303,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -340,7 +340,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -363,7 +363,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -405,7 +405,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -431,7 +431,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -485,7 +485,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -525,7 +525,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -556,7 +556,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -674,7 +674,7 @@ IF (has_locators || has_cameras) { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.21.2/animation.mcb b/src/systems/datapackCompiler/1.21.2/animation.mcb index 9b7a1793..b3ce3027 100644 --- a/src/systems/datapackCompiler/1.21.2/animation.mcb +++ b/src/systems/datapackCompiler/1.21.2/animation.mcb @@ -139,7 +139,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -161,7 +161,7 @@ dir animations { REPEAT (animations) as animation { dir <%animation.storage_name%> { function play { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -173,7 +173,7 @@ dir animations { } function stop { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -184,19 +184,19 @@ dir animations { } function pause { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function resume { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s add <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function next_frame { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> execute if score @s <%OBJECTIVES.FRAME(animation.storage_name)%> matches <%animation.duration%>.. run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> 1 data remove storage <%temp_storage%> args @@ -208,7 +208,7 @@ dir animations { function set_frame { # Sets the frame without interpolation #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -217,7 +217,7 @@ dir animations { function apply_frame { #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -227,7 +227,7 @@ dir animations { function tween { # Attempts to smoothly transition from the currently playing animation into this one. #ARGS: {duration: int, to_frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -478,7 +478,7 @@ dir animations { } function pause_all { # Pauses all animations - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> REPEAT (animations) as animation { tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> @@ -722,7 +722,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -759,7 +759,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -782,7 +782,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -824,7 +824,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -850,7 +850,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -904,7 +904,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -944,7 +944,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -975,7 +975,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -1093,7 +1093,7 @@ IF (has_locators || has_cameras) { function apply_default_pose { # Changes the pose of the rig to the the default pose with interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities @@ -1113,7 +1113,7 @@ function apply_default_pose { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.21.2/global.mcb b/src/systems/datapackCompiler/1.21.2/global.mcb index f28ef446..446f2532 100644 --- a/src/systems/datapackCompiler/1.21.2/global.mcb +++ b/src/systems/datapackCompiler/1.21.2/global.mcb @@ -118,7 +118,7 @@ dir global { # Removes locators and cameras owned by the rig, even if they're not included in the currently loaded export. function outdated_rig { # Assert that the function is being executed as a root entity. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.GLOBAL_ROOT()%> execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { data remove storage <%temp_storage%> args diff --git a/src/systems/datapackCompiler/1.21.2/static.mcb b/src/systems/datapackCompiler/1.21.2/static.mcb index 74521ad7..3e9261ee 100644 --- a/src/systems/datapackCompiler/1.21.2/static.mcb +++ b/src/systems/datapackCompiler/1.21.2/static.mcb @@ -98,7 +98,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -303,7 +303,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -340,7 +340,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -363,7 +363,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -405,7 +405,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -431,7 +431,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -485,7 +485,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -525,7 +525,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -556,7 +556,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -674,7 +674,7 @@ IF (has_locators || has_cameras) { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.21.4/animation.mcb b/src/systems/datapackCompiler/1.21.4/animation.mcb index 862a438b..f497c374 100644 --- a/src/systems/datapackCompiler/1.21.4/animation.mcb +++ b/src/systems/datapackCompiler/1.21.4/animation.mcb @@ -139,7 +139,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -161,7 +161,7 @@ dir animations { REPEAT (animations) as animation { dir <%animation.storage_name%> { function play { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -173,7 +173,7 @@ dir animations { } function stop { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -184,19 +184,19 @@ dir animations { } function pause { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function resume { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tag @s add <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> } function next_frame { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> execute if score @s <%OBJECTIVES.FRAME(animation.storage_name)%> matches <%animation.duration%>.. run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> 1 data remove storage <%temp_storage%> args @@ -208,7 +208,7 @@ dir animations { function set_frame { # Sets the frame without interpolation #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -217,7 +217,7 @@ dir animations { function apply_frame { #ARGS: {frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $execute store result storage <%temp_storage%> args.frame int 1 run scoreboard players set @s <%OBJECTIVES.FRAME(animation.storage_name)%> $(frame) @@ -227,7 +227,7 @@ dir animations { function tween { # Attempts to smoothly transition from the currently playing animation into this one. #ARGS: {duration: int, to_frame: int} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> function *<%export_namespace%>/animations/pause_all @@ -478,7 +478,7 @@ dir animations { } function pause_all { # Pauses all animations - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> REPEAT (animations) as animation { tag @s remove <%TAGS.ANIMATION_PLAYING(export_namespace, animation.storage_name)%> @@ -722,7 +722,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -759,7 +759,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -782,7 +782,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -824,7 +824,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -850,7 +850,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -904,7 +904,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -944,7 +944,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -975,7 +975,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -1093,7 +1093,7 @@ IF (has_locators || has_cameras) { function apply_default_pose { # Changes the pose of the rig to the the default pose with interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities @@ -1113,7 +1113,7 @@ function apply_default_pose { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.21.4/static.mcb b/src/systems/datapackCompiler/1.21.4/static.mcb index 1015b9e0..c26e6c12 100644 --- a/src/systems/datapackCompiler/1.21.4/static.mcb +++ b/src/systems/datapackCompiler/1.21.4/static.mcb @@ -98,7 +98,7 @@ dir root { IF (!auto_update_rig_orientation) { function move { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> tp @s ~ ~ ~ ~ ~ @@ -303,7 +303,7 @@ function summon { IF (has_entity_locators) { function as_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -340,7 +340,7 @@ IF (has_entity_locators) { function as_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -363,7 +363,7 @@ IF (has_entity_locators) { IF (has_locators) { function at_locator { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)'} @@ -405,7 +405,7 @@ IF (has_locators) { function at_all_locators { #ARGS: {command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {command:'$(command)'} @@ -431,7 +431,7 @@ IF (has_locators) { IF (has_cameras) { function as_camera { #ARGS: {name: string, command: string} - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> data remove storage <%temp_storage%> args $data modify storage <%temp_storage%> args merge value {name:'$(name)', command:'$(command)', uuid:'+MISSING_UUID+'} @@ -485,7 +485,7 @@ dir remove { function this { # Removes the rig this function is executed as. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% if (on_remove_function) emit.mcb(on_remove_function) @@ -525,7 +525,7 @@ dir remove { dir this { function without_on_remove_function { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_entity_locators || has_cameras) { execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { @@ -556,7 +556,7 @@ IF (Object.keys(rig.variants).length > 1) { REPEAT (Object.values(rig.variants)) as variant { dir <%variant.name%> { function apply { - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> <%% global.filteredNodes = Object.values(rig.nodes).filter( @@ -674,7 +674,7 @@ IF (has_locators || has_cameras) { function set_default_pose { # Changes the pose of the rig to the the default pose without interpolation - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.PROJECT_ROOT(export_namespace)%> IF (has_locators || has_cameras) { function ./zzz/reset_floating_entities diff --git a/src/systems/datapackCompiler/1.21.5/global.mcb b/src/systems/datapackCompiler/1.21.5/global.mcb index 9c7fafaf..94c49749 100644 --- a/src/systems/datapackCompiler/1.21.5/global.mcb +++ b/src/systems/datapackCompiler/1.21.5/global.mcb @@ -118,7 +118,7 @@ dir global { # Removes locators and cameras owned by the rig, even if they're not included in the currently loaded export. function outdated_rig { # Assert that the function is being executed as a root entity. - debug assert executed_as_root_entity + debug assert executed_as_root_entity <%TAGS.GLOBAL_ROOT()%> execute on passengers if entity @s[tag=<%TAGS.GLOBAL_DATA()%>] run block as_data { data remove storage <%temp_storage%> args diff --git a/test-packs/1.21.9/blueprints/armor_stand_1.21.9.ajblueprint b/test-packs/1.21.9/blueprints/armor_stand_1.21.9.ajblueprint index dc2456c8..c978b1d9 100644 --- a/test-packs/1.21.9/blueprints/armor_stand_1.21.9.ajblueprint +++ b/test-packs/1.21.9/blueprints/armor_stand_1.21.9.ajblueprint @@ -1,9 +1,9 @@ { "meta": { "format": "animated-java:format/blueprint", - "format_version": "1.8.0", + "format_version": "1.8.0-beta.2", "uuid": "167b27cd-b559-3f13-a97c-0841fe21f1d1", - "save_location": "D:\\github-repos\\animated-java\\old-animated-java\\test-packs\\1.21.9\\blueprints\\armor_stand_1.21.9.ajblueprint", + "save_location": "D:\\github-repos\\animated-java\\old-animated-java\\test-packs\\1.20.4\\blueprints\\armor_stand_1.20.4.ajblueprint", "last_used_export_namespace": "armor_stand" }, "resolution": { @@ -13,6 +13,7 @@ "blueprint_settings": { "export_namespace": "armor_stand", "render_box": [95, 32], + "target_minecraft_version": "1.20.4", "resource_pack": "../resources", "data_pack": "../datapacks/animated_java", "on_summon_function": "say On-Summon!", @@ -865,16 +866,43 @@ "visibility": true, "locked": false, "export": true, - "block": "minecraft:stone", - "config": {}, - "item": "minecraft:diamond", - "itemDisplay": "none", "text": "[\n\t{0x00aced}yeah', 'I' '[{love light_purple}' 'text]{' displays''#FF5555'}\n\t'\\n'[{#55_FF_55}definitly' 'quite' 'cursed]\n\t'\\n'{what red}{amI #6395EE}{evenlookingat #c02c38}\n]", "lineWidth": 400, "backgroundColor": "#00000040", "align": "center", "shadow": true, - "seeThrough": true + "seeThrough": true, + "onSummonFunction": "", + "configs": { + "default": { + "on_apply_function": "", + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": false, + "glow_color": "#6f114b", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "on_apply_function": "", + "billboard": "vertical", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#6f114b", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + } + } + } }, { "name": "camera", @@ -898,16 +926,39 @@ "visibility": true, "locked": false, "export": true, - "block": "minecraft:stone", - "config": {}, "item": "minecraft:diamond", "itemDisplay": "none", - "text": "\"Hello World!\"", - "lineWidth": 200, - "backgroundColor": "#000000", - "align": "center", - "shadow": false, - "seeThrough": false + "onSummonFunction": "say I'm a Diamond!", + "configs": { + "default": { + "on_apply_function": "", + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": false, + "glow_color": "#ffffff", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "on_apply_function": "say I'm now a very colorful diamond!", + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": true, + "glowing": true, + "override_glow_color": true, + "glow_color": "#99ff00", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + } + } + } } ], "outliner": [ @@ -915,6 +966,7 @@ "name": "root", "origin": [0, 0, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -944,6 +996,7 @@ "name": "baseplate_root", "origin": [0, 0, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -973,6 +1026,7 @@ "name": "baseplate_pivot_a", "origin": [0, 1, 6], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1005,6 +1059,7 @@ "name": "armor_stand_root", "origin": [0, 1, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1035,6 +1090,7 @@ "name": "waist_pivot", "origin": [0, 12, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1067,6 +1123,7 @@ "name": "body_waist_pivot", "origin": [0, 12, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1099,6 +1156,7 @@ "name": "body", "origin": [0, 24, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1166,6 +1224,7 @@ "name": "head", "origin": [0, 23, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1214,6 +1273,7 @@ "name": "left_arm", "origin": [-6, 23, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1262,6 +1322,7 @@ "name": "right_arm", "origin": [6, 23, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1319,6 +1380,7 @@ "name": "left_leg", "origin": [2, 12, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", @@ -1365,6 +1427,7 @@ "name": "right_leg", "origin": [-2, 12, 0], "color": 0, + "onSummonFunction": "", "configs": { "default": { "billboard": "fixed", diff --git a/test-packs/latest/blueprints/armor_stand_latest.ajblueprint b/test-packs/latest/blueprints/armor_stand_latest.ajblueprint new file mode 100644 index 00000000..73277744 --- /dev/null +++ b/test-packs/latest/blueprints/armor_stand_latest.ajblueprint @@ -0,0 +1,2304 @@ +{ + "meta": { + "format": "animated-java:format/blueprint", + "format_version": "1.8.0-beta.3", + "uuid": "167b27cd-b559-3f13-a97c-0841fe21f1d1", + "save_location": "D:\\github-repos\\animated-java\\old-animated-java\\test-packs\\latest\\blueprints\\armor_stand_latest.ajblueprint", + "last_used_export_namespace": "armor_stand" + }, + "resolution": { + "width": 64, + "height": 64 + }, + "blueprint_settings": { + "export_namespace": "armor_stand", + "render_box": [95, 32], + "resource_pack": "../resources", + "data_pack": "../datapacks/animated_java", + "on_summon_function": "say On-Summon!", + "on_remove_function": "say On-Remove!", + "auto_update_rig_orientation": false, + "baked_animations": false, + "json_file": "../testPluginExport.json" + }, + "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": 15, + "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": false, + "on_summon_function": "say Summon Left Hand!", + "on_remove_function": "say Remove Left Hand!", + "on_tick_function": "" + }, + "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, + "on_summon_function": "say Summon Right Hand!", + "on_remove_function": "say Remove Right Hand!", + "on_tick_function": "" + }, + "uuid": "7747736f-85e2-338f-207e-53f8d3d2fa39", + "type": "locator" + }, + { + "uuid": "c2e217f1-b50a-5c9a-b342-71a35e984046", + "type": "animated_java:text_display", + "name": "text_display", + "position": [0, 38, 0], + "rotation": [0, 0, 0], + "scale": [1, 1, 1], + "visibility": true, + "locked": false, + "export": true, + "text": "[\n\t{0x00aced}yeah', 'I' '[{love light_purple}' 'text]{' displays''#FF5555'}\n\t'\\n'[{#55_FF_55}definitly' 'quite' 'cursed]\n\t'\\n'{what red}{amI #6395EE}{evenlookingat #c02c38}\n]", + "lineWidth": 400, + "backgroundColor": "#00000040", + "align": "center", + "shadow": true, + "seeThrough": true, + "onSummonFunction": "", + "configs": { + "default": { + "on_apply_function": "", + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": false, + "glow_color": "#6f114b", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "on_apply_function": "", + "billboard": "vertical", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": true, + "override_glow_color": true, + "glow_color": "#6f114b", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + } + } + } + }, + { + "name": "camera", + "position": [0, 27, 0], + "rotation": [0, 0, 0], + "fov": 70, + "aspect_ratio": [16, 9], + "linked_preview": "", + "camera_linked": false, + "visibility": true, + "type": "camera", + "uuid": "3ffeee76-901e-f8a2-c29a-82f90e16fd1e" + }, + { + "uuid": "bc141119-7f51-9690-7e21-e119b34fb3a2", + "type": "animated_java:vanilla_item_display", + "name": "item_display", + "position": [6, 12, -4], + "rotation": [-90, 0, 0], + "scale": [0.5, 0.5, 0.5], + "visibility": true, + "locked": false, + "export": true, + "item": "minecraft:diamond", + "itemDisplay": "none", + "onSummonFunction": "say I'm a Diamond!", + "configs": { + "default": { + "on_apply_function": "", + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": false, + "glowing": false, + "override_glow_color": false, + "glow_color": "#ffffff", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + }, + "variants": { + "49521f4b-b970-e4bd-b594-2e05d2d46027": { + "on_apply_function": "say I'm now a very colorful diamond!", + "billboard": "fixed", + "override_brightness": false, + "brightness_override": 0, + "enchanted": true, + "glowing": true, + "override_glow_color": true, + "glow_color": "#99ff00", + "invisible": false, + "shadow_radius": 0, + "shadow_strength": 1 + } + } + } + } + ], + "outliner": [ + { + "name": "root", + "origin": [0, 0, 0], + "color": 0, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "baseplate_pivot_a", + "origin": [0, 1, 6], + "color": 0, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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", "3ffeee76-901e-f8a2-c29a-82f90e16fd1e"] + }, + { + "name": "left_arm", + "origin": [-6, 23, 0], + "color": 0, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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", + "bc141119-7f51-9690-7e21-e119b34fb3a2" + ] + } + ] + } + ] + }, + { + "name": "left_leg", + "origin": [2, 12, 0], + "color": 0, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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"] + } + ] + } + ] + } + ] + }, + "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": "bd510bbf-d10c-d05a-44cb-7f116627ad9f", + "name": "walk", + "loop": "loop", + "override": false, + "length": 1, + "snapping": 20, + "selected": false, + "saved": true, + "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": [] + } + ] + } + } + }, + { + "uuid": "baae8403-f2ab-6a7a-acb5-97d80bf8e31a", + "name": "wizard", + "loop": "loop", + "override": false, + "length": 2, + "snapping": 20, + "selected": false, + "saved": true, + "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": "function", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0", + "function": "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": "function", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0", + "function": "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": "function", + "data_points": [ + { + "function": "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": "function", + "data_points": [ + { + "function": "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": "791551a5-7e73-8e04-068e-fc13614050d9", + "name": "test", + "loop": "loop", + "override": false, + "length": 1, + "snapping": 20, + "selected": true, + "saved": true, + "path": "", + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "0", + "excluded_nodes": [], + "animators": { + "bc141119-7f51-9690-7e21-e119b34fb3a2": { + "name": "item_display", + "type": "animated_java:vanilla_item_display", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "math.sin(q.life_time * 360 * 8) * 32", + "y": "0", + "z": "math.cos(q.life_time * 360 * 8) * 32" + } + ], + "uuid": "a69ba6a4-665c-ec76-2a8c-8b8e131069ce", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "c2e217f1-b50a-5c9a-b342-71a35e984046": { + "name": "text_display", + "type": "animated_java:text_display", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "math.sin(q.life_time * 360) * 2", + "y": "math.cos(q.life_time * 360) * 2", + "z": "0" + } + ], + "uuid": "c1567f01-545a-acab-0f30-60be7926f8ad", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-math.cos(q.life_time * 360) * 1", + "z": "0" + } + ], + "uuid": "0ef7b645-7023-abf3-6de5-1273f9531880", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1 + math.cos(q.life_time * 360) * 0.05", + "y": "1 + math.sin(q.life_time * 360) * 0.05", + "z": "1" + } + ], + "uuid": "cc319bc4-2caf-bd79-01a4-fbfa78d8b859", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + } + ] + }, + "808e3c26-7285-af3f-a079-d8b899176dd3": { + "name": "head", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "57100f98-a3c8-2bdb-1124-f26f002a4680", + "time": 0, + "color": -1, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "10", + "z": "0" + } + ], + "uuid": "8a4dbb22-bc64-41ed-2ee5-ad035414a7bf", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "easing": "easeOutCubic", + "easingArgs": [] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ce5edc5a-11dd-2b47-36e5-16200667dd1f", + "time": 1, + "color": -1, + "interpolation": "linear", + "easing": "easeInQuad", + "easingArgs": [] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "dda5a134-8352-b67e-5c03-c7655842ffa5", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "465d64a5-61bf-db04-f1f5-bfdc24a3a925", + "time": 0.5, + "color": -1, + "uniform": true, + "interpolation": "linear", + "easing": "easeOutBack", + "easingArgs": [2] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "4a7d7cfb-5436-9bff-eaa7-a0834787100d", + "time": 1, + "color": -1, + "uniform": true, + "interpolation": "linear", + "easing": "linear", + "easingArgs": [] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.9", + "y": "1.1", + "z": "0.9\n" + } + ], + "uuid": "5b63d06f-8aa2-33dc-e3ab-6da22b3c61c3", + "time": 0.15, + "color": -1, + "uniform": false, + "interpolation": "linear", + "easing": "easeOutCubic", + "easingArgs": [1] + } + ] + } + } + } + ], + "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/latest/blueprints/armor_stand_latest_static.ajblueprint b/test-packs/latest/blueprints/armor_stand_latest_static.ajblueprint new file mode 100644 index 00000000..c99bd70d --- /dev/null +++ b/test-packs/latest/blueprints/armor_stand_latest_static.ajblueprint @@ -0,0 +1,1585 @@ +{ + "meta": { + "format": "animated-java:format/blueprint", + "format_version": "1.8.0", + "uuid": "167b27cd-b559-3f13-a97c-0841fe21f1d1", + "save_location": "D:\\github-repos\\animated-java\\old-animated-java\\test-packs\\1.20.5\\blueprints\\armor_stand_1.20.5_static.ajblueprint", + "last_used_export_namespace": "armor_stand" + }, + "resolution": { + "width": 64, + "height": 64 + }, + "blueprint_settings": { + "export_namespace": "armor_stand", + "render_box": [95, 32], + "target_minecraft_version": "1.20.5", + "resource_pack": "../resources", + "data_pack": "../datapacks/animated_java", + "on_summon_function": "say On-Summon!", + "on_remove_function": "say On-Remove!", + "auto_update_rig_orientation": false, + "baked_animations": false, + "json_file": "../testPluginExport.json" + }, + "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": 15, + "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, + "on_summon_function": "say Summon Left Hand!", + "on_remove_function": "say Remove Left Hand!", + "on_tick_function": "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, + "on_summon_function": "say Summon Right Hand!", + "on_remove_function": "say Remove Right Hand!", + "on_tick_function": "particle minecraft:bubble ^ ^ ^1\ntp @e[tag=test2,limit=1] ~ ~ ~ ~ ~" + }, + "uuid": "7747736f-85e2-338f-207e-53f8d3d2fa39", + "type": "locator" + }, + { + "uuid": "c2e217f1-b50a-5c9a-b342-71a35e984046", + "type": "animated_java:text_display", + "name": "text_display", + "position": [0, 38, 0], + "rotation": [0, 0, 0], + "scale": [1, 1, 1], + "visibility": true, + "locked": false, + "export": true, + "block": "minecraft:stone", + "config": {}, + "item": "minecraft:diamond", + "itemDisplay": "none", + "text": "[\n\t{0x00aced}yeah', 'I' '[{love light_purple}' 'text]{' displays''#FF5555'}\n\t'\\n'[{#55_FF_55}definitly' 'quite' 'cursed]\n\t'\\n'{what red}{amI #6395EE}{evenlookingat #c02c38}\n]", + "lineWidth": 400, + "backgroundColor": "#00000040", + "align": "center", + "shadow": true, + "seeThrough": true + }, + { + "name": "camera", + "position": [0, 27, 0], + "rotation": [0, 0, 0], + "fov": 70, + "aspect_ratio": [16, 9], + "linked_preview": "", + "camera_linked": false, + "visibility": true, + "type": "camera", + "uuid": "3ffeee76-901e-f8a2-c29a-82f90e16fd1e" + }, + { + "uuid": "bc141119-7f51-9690-7e21-e119b34fb3a2", + "type": "animated_java:vanilla_item_display", + "name": "item_display", + "position": [6, 12, -4], + "rotation": [-90, 0, 0], + "scale": [0.5, 0.5, 0.5], + "visibility": true, + "locked": false, + "export": true, + "block": "minecraft:stone", + "config": {}, + "item": "minecraft:diamond", + "itemDisplay": "none", + "text": "\"Hello World!\"", + "lineWidth": 200, + "backgroundColor": "#000000", + "align": "center", + "shadow": false, + "seeThrough": false + } + ], + "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": true, + "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", "3ffeee76-901e-f8a2-c29a-82f90e16fd1e"] + }, + { + "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", + "bc141119-7f51-9690-7e21-e119b34fb3a2" + ] + } + ] + } + ] + }, + { + "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"] + } + ] + } + ] + } + ] + }, + "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": [] + } + ] + }, + "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/latest/blueprints/armor_stand_minimal_latest.ajblueprint b/test-packs/latest/blueprints/armor_stand_minimal_latest.ajblueprint new file mode 100644 index 00000000..da922ca5 --- /dev/null +++ b/test-packs/latest/blueprints/armor_stand_minimal_latest.ajblueprint @@ -0,0 +1,1288 @@ +{ + "meta": { + "format": "animated-java:format/blueprint", + "format_version": "1.8.0-beta.3", + "uuid": "173aa82f-fb4f-c354-ad34-a34d7fbce647", + "save_location": "D:\\github-repos\\animated-java\\old-animated-java\\test-packs\\latest\\blueprints\\armor_stand_minimal_latest.ajblueprint", + "last_used_export_namespace": "armor_stand_minimal" + }, + "resolution": { + "width": 64, + "height": 64 + }, + "blueprint_settings": { + "export_namespace": "armor_stand_minimal", + "render_box": [48, 48], + "resource_pack": "../resources", + "data_pack": "../datapacks/animated_java", + "auto_update_rig_orientation": false, + "baked_animations": false, + "json_file": "../testPluginExport.json" + }, + "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" + } + ], + "outliner": [ + { + "name": "root", + "origin": [0, 0, 0], + "color": 0, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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": true, + "locked": false, + "visibility": true, + "autouv": 0, + "selected": false, + "children": [ + { + "name": "baseplate_pivot_a", + "origin": [0, 1, 6], + "color": 0, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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, + "onSummonFunction": "", + "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", + { + "name": "head", + "origin": [0, 23, 0], + "color": 0, + "onSummonFunction": "", + "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"] + }, + { + "name": "left_arm", + "origin": [-6, 23, 0], + "color": 0, + "onSummonFunction": "", + "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"] + }, + { + "name": "right_arm", + "origin": [6, 23, 0], + "color": 0, + "onSummonFunction": "", + "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"] + } + ] + } + ] + }, + { + "name": "left_leg", + "origin": [2, 12, 0], + "color": 0, + "onSummonFunction": "", + "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"] + }, + { + "name": "right_leg", + "origin": [-2, 12, 0], + "color": 0, + "onSummonFunction": "", + "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"] + } + ] + } + ] + } + ] + } + ], + "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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAB6xJREFUeF7tW01oXUUUnmebkjZNCU1bjSnVtAUNVks0VK1gEbLowmK6EIOKP3VRKBYNBldqiLoMRIkUurAq+PPEhUpduAiIgkVLMDy1qGCtDY3RmsRH07SxSb3yzfW7OW9y75u5uS/v3WBnc+fnzN8353wzc+a9jPovHHtzv4foRH5S59z79LsZluH7xev7vJOjf6otDesVvo8/dzR2+a8jf6nLV83qNu5+4khBfdlXOePBIGwAPPPInd59u5rVx5//oPA1J2Ar/+SVB72pv/9Rx0+cDq1fzknLvjKfvvaoXnmEizMXVH5qOiivq6nW8dGRMbWybrVCemXVqqAc8kivWrlMawVWVgYz78LFy7oPBPTTULdW7X7yrYpqQubDvvs9OWkMjhNHHBPkRE2AKEtQWI76aPNi/nwAHNuSAEF+b+cHlQXgUNc9WgN+n7ig/piYCsZ39doadc3audWW5ShDgPwdrU06Tu3gClNzNl+/qUBjuPrMNLmk3KaQAbmhU6inHnR+Yp4qF1Prd44e18UEBaCZYMpyxKXM4Y++r6wGgAMwaa4izQH2ieCi1uAAgkgNqF9TW3QxATj6rbgGgANo57Rbqq20fc4GhCjVmiBJcpTAsR55gV8tkz+vDvR+VlkN2N++TZtAlM0zP0qt2+66SZuPZHe59JJQpf1Dw1KhATbSgYkUU2vJASTNKEJFPoIk24pzgAsAlAk7J9i2MZIs2uC5ABpD3qj0idBqf7Zzgg2AN17e40lCJd8QVFt92wIlLbcCYDsn2EiMJ82wQxQGX/FdICmCtvoAkJwAQpX2j7qp5wDbBJd6udUElvoEbeMvAACEZatQrDyJPbv4G4r5E2z1o8adGgCS+hNs9VMLAA9a9CuYAx0/Nxn4IMLuJdua/duoGVzvGvo2iANKqQKcIujc1dEht0mMwXS+yIuaeYagLOot9K5RUgB4vo/j6eFlTJ425eXsq8FTuijqur17V3PB2snbrMtdI/AHlEIL6AGKAwDPCZhF2F1ib9ttwbFZXrp43cZdRF7Y0E6cu0bFt0GYQDGfIsDktVwuNflA+iEXctfQALyw73avafMG3T5tmLZ36pezOl+WI02S4aAgBxl8XzzytTOw0gSiSK7YdRv9J7lrZDh5NMKV4GTYOG9uYRNn5wBsISDw7BHlU8z97BO09FfI6zZMBGGhdw3nlSrVLmG2Ix0y5AE5wYf27NDXaC4QF0HvGPkJ7VVKcteY97rDAbr4+Sm7fFmV+unMb+qGjdeq2cszCmkE5lFu52OH5wFODuDETOcLzgEIdLmZ/sskp0+0WzAgvA5hArRvqjcngM6ZJx2hXI0oecgClCgAipGc9CFKM6H/0nYdt2nuPABYQa4eV1Wustmwi8aEeX9wECtGcjgHyHcIkw8SAyDfBdasrtYqjEC7m52dUcuX+yoNDVi/2nd3r6mt1pqCcpkmGUGO9WRd5EEjCEaYU1ZywGL7CwreBjEwTur4tydVy82bCs7hQ98NB3mQPTc5HUzSrLvjli0aGEwYoKDuzltv1IABvEr7AqnBGXkF5lEWhVA9PntRWOZJWZTHret6V7DZcNLy2Ntgd3e3NzU1pWpq/PdBxBEaGxvVyMiIjqOsrq5O5fP5QMZVvqenJ/aYkoAQu7Ouri6vtbVVVVf7T+dmGB8fD8AZHR3VoMSR7+zsjD2msgPQ3NysVqxYofu9dOmSjldV+USJAHCmp6fV4OCgTseR7+3tTTcAMIGWlhY9QQaYAQGRqzE2NqbNII586jWgr6/Pa2ryvTCTk/4pDaG2dv5r8NDQkOaCOPKp5wBowNatWwtUfmZmJkgjTtMYHh7W8TjyqQdAkiA1wFx9mgc5gCToIr8kOACkxiBXX5Ig4jABkqCrfOo1ABywbt06yXWRcZAgQhz51JMgdwGoM1Sf+z53Am6H2AqpAdgFXOVTrwHkAKwsCU/uArB/5udyOa0B4ABX+SXBAfIojG0OAfs9j8XFjsI2+bJrQDab1e+BcjWlUfOkZ+73UP36+nqt2uYpUNaXZwWZjzoSSPaPfJiPuWMgzbHIXae9vT3RyTFRZScmTLnQFQBSvkCLPrxAA+ibk45PxuntoUfWHFWcp7BFn1HMDq4AwD9K0Bk68OUJhV9/Isg4ff02ubT4+lwVIXCKUt2PffOjdl4iMB5mFlFySR8qXAdeKrkru0AYkngwNf88EefFt1SrU452QjWAvIABwObD/iVWjsGVo49QAOTvezEIl5+alGOwi9FHKADyXyTsdKmRmytYoQBIDuDD5P+KA1zRK5Ncol+v2sZIDWAnSMsOF5JWqr7bb2O8J6Pj5pejcinHeOq71cjbPbpW48NzcabxRTnKGJdlZh7bQr40AQyaE174d0O/p84enGuXaZkfFo8qV8rLvafU9qf6g8XMvXowNM38qC8bkPVLD0BD1lOjHXPtIs3AfCnDeFieX89TDVk18HyHanspqzMQRzDTzAsrhyzbkOVRK80hxzeBjQOeOtM2BwDTMt+MszfWK2zDUxsHtET2QJvqODQQfFnNzHdN0wTCbD4MGPZHUzHTc/nX5fw2T2/PKMTNL2u6lCvl9T/rVzj4vu9k7X9ge6BUyEO62Jd1wur/C4S4j3y2CFhdAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "transparent.png", + "folder": "", + "namespace": "", + "id": "1", + "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": [] + }, + "animations": [ + { + "uuid": "bd510bbf-d10c-d05a-44cb-7f116627ad9f", + "name": "walk", + "loop": "loop", + "override": false, + "length": 1, + "snapping": 20, + "selected": true, + "saved": true, + "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": [] + } + ] + } + } + } + ], + "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/latest/datapacks/animated_java/pack.mcmeta b/test-packs/latest/datapacks/animated_java/pack.mcmeta new file mode 100644 index 00000000..06f88648 --- /dev/null +++ b/test-packs/latest/datapacks/animated_java/pack.mcmeta @@ -0,0 +1,7 @@ +{ + "pack": { + "description": "AJ Testing DP", + "min_format": 88, + "max_format": 9999999 + } +} \ No newline at end of file diff --git a/test-packs/latest/datapacks/test-framework/mcb.config.js b/test-packs/latest/datapacks/test-framework/mcb.config.js new file mode 100644 index 00000000..45bc0388 --- /dev/null +++ b/test-packs/latest/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/latest/datapacks/test-framework/pack.mcmeta b/test-packs/latest/datapacks/test-framework/pack.mcmeta new file mode 100644 index 00000000..618a6a2f --- /dev/null +++ b/test-packs/latest/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/latest/datapacks/test-framework/package.json b/test-packs/latest/datapacks/test-framework/package.json new file mode 100644 index 00000000..a0df0c86 --- /dev/null +++ b/test-packs/latest/datapacks/test-framework/package.json @@ -0,0 +1,3 @@ +{ + "type": "commonjs" +} diff --git a/test-packs/latest/datapacks/test-framework/src/test.mcb b/test-packs/latest/datapacks/test-framework/src/test.mcb new file mode 100644 index 00000000..d885e9f9 --- /dev/null +++ b/test-packs/latest/datapacks/test-framework/src/test.mcb @@ -0,0 +1,44 @@ +function on_load minecraft:load { + tellraw @a {"text":"Test Framework loaded!", "color":"green"} +} + +clock 1s 1t { + execute store result score #count aj.i if entity @e[type=item_display,tag=aj.global.root] + title @a actionbar [{"text":"Rig Count: "}, {"score":{"name":"#count","objective":"aj.i"}}] +} + +dir armor_stand { + function summon { + #ARGS: {args:{...}} + function animated_java:global/remove/everything + $execute positioned 0 1 0 rotated 0 0 run function animated_java:armor_stand/summon {args:$(args)} + } + + function summon_minimal { + #ARGS: {args:{...}} + function animated_java:global/remove/everything + $execute positioned 0 1 0 rotated 0 0 run function animated_java:armor_stand_minimal/summon {args:$(args)} + } + + function summon_many { + function animated_java:global/remove/everything + data remove storage test:temp args + $data modify storage test:temp args set value {args:$(args)} + REPEAT (0, 199) as i { + schedule 1t { + execute positioned <%i % 16%> 1 <%Math.floor(i / 16)%> rotated 0 0 run function animated_java:armor_stand/summon with storage test:temp args + } + } + } + + function summon_many_minimal { + function animated_java:global/remove/everything + data remove storage test:temp args + $data modify storage test:temp args set value {args:$(args)} + REPEAT (0, 999) as i { + schedule 1t { + execute positioned <%i % 16%> 1 <%Math.floor(i / 16)%> rotated 0 0 run function animated_java:armor_stand_minimal/summon with storage test:temp args + } + } + } +} diff --git a/test-packs/latest/resources/pack.mcmeta b/test-packs/latest/resources/pack.mcmeta new file mode 100644 index 00000000..a90fb61a --- /dev/null +++ b/test-packs/latest/resources/pack.mcmeta @@ -0,0 +1,7 @@ +{ + "pack": { + "min_format": 69, + "max_format": 9999999, + "description": "AJ Testing RP" + } +} \ No newline at end of file