diff --git a/README.md b/README.md index 5cd7cec..cfb4d77 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,10 @@ # Project -> This repo has been populated by an initial template to help get you started. Please -> make sure to update the content to build a great experience for community-building. +This project contains samples that further extend the [Minecraft: Bedrock Edition Creator Documentation](https://docs.microsoft.com/minecraft/creator/) -As the maintainer of this project, please make a few updates: +## Current Samples -- Improving this README.MD file to provide a great experience -- Updating SUPPORT.MD with content about this project's support experience -- Understanding the security reporting process in SECURITY.MD -- Remove this section from the README + * [Add Entity Robot](add_entity_robot/README.md) - A simple project that demonstrates how to create a new entity, that accompanies [this article](https://docs.microsoft.com/minecraft/creator/documents/introductiontoaddentity). ## Contributing diff --git a/SUPPORT.md b/SUPPORT.md index dc72f0e..978e778 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,13 +1,3 @@ -# TODO: The maintainer of this repo has not yet edited this file - -**REPO OWNER**: Do you want Customer Service & Support (CSS) support for this product/project? - -- **No CSS support:** Fill out this template with information about how to file issues and get help. -- **Yes CSS support:** Fill out an intake form at [aka.ms/spot](https://aka.ms/spot). CSS will work with/help you to determine next steps. More details also available at [aka.ms/onboardsupport](https://aka.ms/onboardsupport). -- **Not sure?** Fill out a SPOT intake as though the answer were "Yes". CSS will help you decide. - -*Then remove this first heading from this SUPPORT.MD file before publishing your repo.* - # Support ## How to file issues and get help @@ -15,11 +5,3 @@ This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new Issue. - -For help and questions about using this project, please **REPO MAINTAINER: INSERT INSTRUCTIONS HERE -FOR HOW TO ENGAGE REPO OWNERS OR COMMUNITY FOR HELP. COULD BE A STACK OVERFLOW TAG OR OTHER -CHANNEL. WHERE WILL YOU HELP PEOPLE?**. - -## Microsoft Support Policy - -Support for this **PROJECT or PRODUCT** is limited to the resources listed above. diff --git a/add_entity_robot/README.md b/add_entity_robot/README.md new file mode 100644 index 0000000..bdd9a8f --- /dev/null +++ b/add_entity_robot/README.md @@ -0,0 +1,42 @@ +--- +page_type: sample +author: mammerla +description: A basic Hello World example of adding a new entity in for Minecraft. +ms.author: mikeam@microsoft.com +ms.date: 03/01/2022 +languages: +- json +- python +products: +- minecraft +--- + +# Adding a new entity into Minecraft + +This sample demonstrates how to add a new entity into Minecraft. + +See [this article on the Minecraft Creator Portal](https://docs.microsoft.com/minecraft/creator/documents/introductiontoaddentity) for the full walkthrough of how to build this demo. + +## Running the sample within Minecraft + +Run the following batch file to copy these files into your Minecraft: Bedrock Edition folder. + +```powershell +install_uwp.cmd +``` + +To use the new entities, follow these instructions inside of Minecraft. + +1. From Play, select Create New +1. Select Create New World +1. Give your world a title +1. Under Default Game Mode, select Creative +1. Under Resource Packs, and under My Packs, select either Robot Minimal or Robot Full examples. + + + +## Manifest + +- [min](https://github.com/microsoft/minecraft-samples/blob/main/add_entity_robot/min/): Minimal starter version of this sample - useful for the start of [the corresponding article](https://docs.microsoft.com/minecraft/creator/documents/introductiontoaddentity) +- [full](https://github.com/microsoft/minecraft-samples/blob/main/add_entity_robot/full/): Full, completed version of this sample - this should match your project at the end of [the corresponding article](https://docs.microsoft.com/minecraft/creator/documents/introductiontoaddentity) +- [install_uwp.cmd](https://github.com/microsoft/minecraft-samples/blob/main/add_entity_robot/install_uwp.cmd): Copies these projects into your Minecraft: Bedrock Edition UWP projects folder (`%localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\`) \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_behavior/animation_controllers/robot.animation_controllers.json b/add_entity_robot/full/robot_example_full_behavior/animation_controllers/robot.animation_controllers.json new file mode 100644 index 0000000..6078f05 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_behavior/animation_controllers/robot.animation_controllers.json @@ -0,0 +1,26 @@ +{ + "format_version": "1.10.0", + "animation_controllers": { + "controller.animation.robot.in_water": { + "states": { + "default": { + "transitions": [ + {"in_water": "query.is_in_water_or_rain"} + ] + }, + "in_water": { + "animations": [ + "poison" + ], + "on_exit": [ + "/effect @s regeneration 2 4 true", + "/playsound random.fizz @a[r=16]" + ], + "transitions": [ + {"default": "query.is_in_water_or_rain == 0"} + ] + } + } + } + } +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_behavior/animations/robot.animation.json b/add_entity_robot/full/robot_example_full_behavior/animations/robot.animation.json new file mode 100644 index 0000000..2c4924b --- /dev/null +++ b/add_entity_robot/full/robot_example_full_behavior/animations/robot.animation.json @@ -0,0 +1,14 @@ +{ + "format_version": "1.8.0", + "animations": { + "animation.robot.poison": { + "loop": true, + "animation_length": 1, + "timeline": { + "0.0": [ + "/effect @s poison 2 0 true" + ] + } + } + } +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_behavior/entities/robot.json b/add_entity_robot/full/robot_example_full_behavior/entities/robot.json new file mode 100644 index 0000000..ac163ab --- /dev/null +++ b/add_entity_robot/full/robot_example_full_behavior/entities/robot.json @@ -0,0 +1,74 @@ +{ + "format_version": "1.12.0", + "minecraft:entity": { + "description": { + "identifier": "compass:robot", + "is_spawnable": true, + "is_summonable": true, + "animations": { + "poison": "animation.robot.poison", + "in_water": "controller.animation.robot.in_water" + }, + "scripts": { + "animate": [ + "in_water" + ] + } + }, + "components": { + "minecraft:physics": {}, + "minecraft:nameable": {}, + "minecraft:movement": { + "value": 0.25 + }, + "minecraft:movement.basic": {}, + "minecraft:jump.static": {}, + "minecraft:navigation.walk": { + "avoid_water": true + }, + "minecraft:behavior.tempt": { + "priority": 1, + "speed_multiplier": 1.4, + "items": ["diamond"], + "within_radius": 7.0 + }, + "minecraft:behavior.random_stroll": { + "priority": 3, + "speed_multiplier": 0.8 + }, + "minecraft:experience_reward": { + "on_death": 8 + } + }, + "component_groups": { + "compass:color_0": { + "minecraft:variant": {"value": 0} + }, + "compass:color_1": { + "minecraft:variant": {"value": 1} + }, + "compass:color_2": { + "minecraft:variant": {"value": 2} + } + }, + "events": { + "minecraft:entity_spawned": { + "randomize": [ + { + "add": { + "component_groups": ["compass:color_0"] + } + }, { + "add": { + "component_groups": ["compass:color_1"] + } + }, { + "add": { + "component_groups": ["compass:color_2"] + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_behavior/manifest.json b/add_entity_robot/full/robot_example_full_behavior/manifest.json new file mode 100644 index 0000000..c3029bc --- /dev/null +++ b/add_entity_robot/full/robot_example_full_behavior/manifest.json @@ -0,0 +1,18 @@ +{ + "format_version": 1, + "header": { + "name": "Robot Add-Entity Full Example - Behavior", + "description": "", + "uuid": "6eaedf14-74c0-49e1-907d-3a8974cb006b", + "min_engine_version": [1, 12, 0], + "version": [0, 0, 2] + }, + "modules": [ + { + "description": "", + "type": "data", + "uuid": "ac0dbc5d-6267-4bcc-ac65-521e5054c31b", + "version": [0, 0, 2] + } + ] +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_behavior/pack_icon.png b/add_entity_robot/full/robot_example_full_behavior/pack_icon.png new file mode 100644 index 0000000..403efc2 Binary files /dev/null and b/add_entity_robot/full/robot_example_full_behavior/pack_icon.png differ diff --git a/add_entity_robot/full/robot_example_full_behavior/spawn_rules/robot.json b/add_entity_robot/full/robot_example_full_behavior/spawn_rules/robot.json new file mode 100644 index 0000000..a851114 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_behavior/spawn_rules/robot.json @@ -0,0 +1,26 @@ +{ + "format_version": "1.8.0", + "minecraft:spawn_rules": { + "description": { + "identifier": "compass:robot", + "population_control": "animal" + }, + "conditions": [ + { + "minecraft:spawns_on_surface": {}, + "minecraft:brightness_filter": { + "min": 12, + "max": 15, + "adjust_for_weather": false + }, + "minecraft:weight": { + "default": 40 + }, + "minecraft:biome_filter": { + "test": "has_biome_tag", + "value": "animal" + } + } + ] + } +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_resources/animations/robot.animation.json b/add_entity_robot/full/robot_example_full_resources/animations/robot.animation.json new file mode 100644 index 0000000..9f4d741 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_resources/animations/robot.animation.json @@ -0,0 +1,13 @@ +{ + "format_version": "1.8.0", + "animations": { + "animation.robot.drive": { + "loop": true, + "bones": { + "wheel": { + "rotation": ["query.modified_distance_moved*40", 0, 0] + } + } + } + } +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_resources/entity/robot.entity.json b/add_entity_robot/full/robot_example_full_resources/entity/robot.entity.json new file mode 100644 index 0000000..80f6f8d --- /dev/null +++ b/add_entity_robot/full/robot_example_full_resources/entity/robot.entity.json @@ -0,0 +1,32 @@ +{ + "format_version": "1.10.0", + "minecraft:client_entity": { + "description": { + "identifier": "compass:robot", + "spawn_egg": { + "base_color": "#505152", + "overlay_color": "#3b9dff" + }, + "render_controllers": [ + "controller.render.robot" + ], + "geometry": { + "default": "geometry.robot" + }, + "textures": { + "default": "textures/entity/robot", + "variant_b": "textures/entity/robot_b", + "variant_c": "textures/entity/robot_c" + }, + "materials": { + "default": "entity" + }, + "animations": { + "drive": "animation.robot.drive" + }, + "scripts": { + "animate": ["drive"] + } + } + } +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_resources/manifest.json b/add_entity_robot/full/robot_example_full_resources/manifest.json new file mode 100644 index 0000000..25736b1 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_resources/manifest.json @@ -0,0 +1,18 @@ +{ + "format_version": 1, + "header": { + "name": "Robot Add-Entity Full Example - Resources", + "description": "", + "uuid": "bb405256-d96b-44c4-aca5-5044b660a0b2", + "min_engine_version": [1, 12, 0], + "version": [0, 0, 2] + }, + "modules": [ + { + "description": "", + "type": "resources", + "uuid": "2501c3e0-b136-41eb-85fc-c4457e8dfc7b", + "version": [0, 0, 2] + } + ] +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_resources/models/entity/robot.geo.json b/add_entity_robot/full/robot_example_full_resources/models/entity/robot.geo.json new file mode 100644 index 0000000..e9d7199 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_resources/models/entity/robot.geo.json @@ -0,0 +1,115 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.robot", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 2, + "visible_bounds_height": 2, + "visible_bounds_offset": [0, 1, 0] + }, + "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, + { + "name": "wheel", + "parent": "root", + "pivot": [0, 3, 0], + "cubes": [ + {"origin": [-1, 0, -3], "size": [2, 6, 6], "uv": [24, 27]}, + {"origin": [-3, 2.5, -0.5], "size": [6, 1, 1], "uv": [0, 50]} + ] + }, + { + "name": "body", + "parent": "root", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [1.25187, 2.27524, -1], "size": [1, 5, 2], "pivot": [0, 0, 0], "rotation": [0, 0, 6], "uv": [20, 39], "mirror": true}, + {"origin": [-3, 7, -3], "size": [6, 9, 6], "uv": [30, 0]}, + {"origin": [-5, 13, -1], "size": [2, 2, 4], "uv": [0, 39]}, + {"origin": [3, 13, -1], "size": [2, 2, 4], "uv": [0, 39], "mirror": true}, + {"origin": [-4, 10, 2], "size": [8, 8, 4], "uv": [0, 15]}, + {"origin": [-3, 12, 3], "size": [6, 8, 4], "uv": [24, 15]}, + {"origin": [-4, 19, 2], "size": [8, 4, 4], "uv": [0, 27]}, + {"origin": [-2.25187, 2.27524, -1], "size": [1, 5, 2], "pivot": [0, 0, 0], "rotation": [0, 0, -6], "uv": [20, 39]}, + {"origin": [-2, 6.62679, -3.26946], "size": [4, 1, 4], "pivot": [0, 0, 0], "rotation": [-35, 0, 0], "uv": [40, 27]} + ] + }, + { + "name": "right_arm", + "parent": "body", + "pivot": [-4, 13, 0], + "rotation": [-30, 15, 0], + "cubes": [ + {"origin": [-5, 9, -1], "size": [2, 5, 2], "uv": [12, 39]} + ] + }, + { + "name": "right_lower_arm", + "parent": "right_arm", + "pivot": [-4, 9, 0], + "rotation": [-15, 0, -10], + "cubes": [ + {"origin": [-4.5, 5, -0.5], "size": [1, 4, 1], "uv": [28, 46]} + ] + }, + { + "name": "right_hand", + "parent": "right_lower_arm", + "pivot": [-4, 5, 0], + "rotation": [-20, -20, 0], + "cubes": [ + {"origin": [-5, 4, -1], "size": [2, 1, 2], "uv": [10, 46]}, + {"origin": [-4.78869, 2.04685, -1], "size": [1, 2, 2], "inflate": -0.01, "pivot": [-4, 5, 0], "rotation": [0, 0, 25], "uv": [22, 46]}, + {"origin": [-4, 2, -0.5], "size": [1, 2, 1], "pivot": [-4, 5, 0], "rotation": [0, 0, -20], "uv": [0, 52]} + ] + }, + { + "name": "left_arm", + "parent": "body", + "pivot": [4, 13, 0], + "rotation": [-30, -15, 0], + "cubes": [ + {"origin": [3, 9, -1], "size": [2, 5, 2], "uv": [12, 39], "mirror": true} + ] + }, + { + "name": "left_lower_arm", + "parent": "left_arm", + "pivot": [4, 9, 0], + "rotation": [-15, 0, 10], + "cubes": [ + {"origin": [3.5, 5, -0.5], "size": [1, 4, 1], "uv": [28, 46], "mirror": true} + ] + }, + { + "name": "left_hand", + "parent": "left_lower_arm", + "pivot": [4, 5, 0], + "rotation": [-20, 20, 0], + "cubes": [ + {"origin": [3, 4, -1], "size": [2, 1, 2], "uv": [10, 46], "mirror": true}, + {"origin": [3.78869, 2.04685, -1], "size": [1, 2, 2], "inflate": -0.01, "pivot": [4, 5, 0], "rotation": [0, 0, -25], "uv": [22, 46], "mirror": true}, + {"origin": [3, 2, -0.5], "size": [1, 2, 1], "pivot": [4, 5, 0], "rotation": [0, 0, 20], "uv": [0, 52], "mirror": true} + ] + }, + { + "name": "head", + "parent": "body", + "pivot": [0, 15, -3], + "cubes": [ + {"origin": [-1, 14, -4], "size": [2, 2, 2], "uv": [0, 46]}, + {"origin": [-4, 16, -7], "size": [8, 7, 7], "uv": [0, 0]}, + {"origin": [-1, 25.79555, -5.05291], "size": [2, 2, 2], "pivot": [0, 15, -3], "rotation": [-15, 0, 0], "uv": [32, 39]}, + {"origin": [-0.5, 20.79555, -4.55291], "size": [1, 5, 1], "pivot": [0, 15, -3], "rotation": [-15, 0, 0], "uv": [18, 46]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/add_entity_robot/full/robot_example_full_resources/pack_icon.png b/add_entity_robot/full/robot_example_full_resources/pack_icon.png new file mode 100644 index 0000000..403efc2 Binary files /dev/null and b/add_entity_robot/full/robot_example_full_resources/pack_icon.png differ diff --git a/add_entity_robot/full/robot_example_full_resources/render_controllers/robot.render_controllers.json b/add_entity_robot/full/robot_example_full_resources/render_controllers/robot.render_controllers.json new file mode 100644 index 0000000..e2b1246 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_resources/render_controllers/robot.render_controllers.json @@ -0,0 +1,19 @@ +{ + "format_version": "1.8.0", + "render_controllers": { + "controller.render.robot": { + "arrays": { + "textures": { + "Array.variant": [ + "Texture.default", + "Texture.variant_b", + "Texture.variant_c" + ] + } + }, + "geometry": "Geometry.default", + "materials": [ { "*": "Material.default" } ], + "textures": [ "Array.variant[ query.variant ]" ] + } + } +} diff --git a/add_entity_robot/full/robot_example_full_resources/texts/en_US.lang b/add_entity_robot/full/robot_example_full_resources/texts/en_US.lang new file mode 100644 index 0000000..4a05bd2 --- /dev/null +++ b/add_entity_robot/full/robot_example_full_resources/texts/en_US.lang @@ -0,0 +1,2 @@ +entity.compass:robot.name=Robot +item.spawn_egg.entity.compass:robot.name=Spawn Robot diff --git a/add_entity_robot/full/robot_example_full_resources/textures/entity/robot.png b/add_entity_robot/full/robot_example_full_resources/textures/entity/robot.png new file mode 100644 index 0000000..44b192a Binary files /dev/null and b/add_entity_robot/full/robot_example_full_resources/textures/entity/robot.png differ diff --git a/add_entity_robot/full/robot_example_full_resources/textures/entity/robot_b.png b/add_entity_robot/full/robot_example_full_resources/textures/entity/robot_b.png new file mode 100644 index 0000000..560760d Binary files /dev/null and b/add_entity_robot/full/robot_example_full_resources/textures/entity/robot_b.png differ diff --git a/add_entity_robot/full/robot_example_full_resources/textures/entity/robot_c.png b/add_entity_robot/full/robot_example_full_resources/textures/entity/robot_c.png new file mode 100644 index 0000000..a84878e Binary files /dev/null and b/add_entity_robot/full/robot_example_full_resources/textures/entity/robot_c.png differ diff --git a/add_entity_robot/install_uwp.cmd b/add_entity_robot/install_uwp.cmd new file mode 100644 index 0000000..1a6729f --- /dev/null +++ b/add_entity_robot/install_uwp.cmd @@ -0,0 +1,4 @@ +xcopy /d /y /e full\robot_example_full_behavior %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs\robot_example_full_behavior\ +xcopy /d /y /e min\robot_example_min_behavior %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs\robot_example_min_behavior\ +xcopy /d /y /e full\robot_example_full_resources %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_resource_packs\robot_example_full_resources\ +xcopy /d /y /e min\robot_example_min_resources %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_resource_packs\robot_example_min_resources\ diff --git a/add_entity_robot/min/robot_example_min_behavior/entities/robot.json b/add_entity_robot/min/robot_example_min_behavior/entities/robot.json new file mode 100644 index 0000000..330b519 --- /dev/null +++ b/add_entity_robot/min/robot_example_min_behavior/entities/robot.json @@ -0,0 +1,13 @@ +{ + "format_version": "1.12.0", + "minecraft:entity": { + "description": { + "identifier": "compass:robot", + "is_spawnable": true, + "is_summonable": true + }, + "components": { + "minecraft:physics": {} + } + } +} \ No newline at end of file diff --git a/add_entity_robot/min/robot_example_min_behavior/manifest.json b/add_entity_robot/min/robot_example_min_behavior/manifest.json new file mode 100644 index 0000000..8306c34 --- /dev/null +++ b/add_entity_robot/min/robot_example_min_behavior/manifest.json @@ -0,0 +1,18 @@ +{ + "format_version": 1, + "header": { + "name": "Robot Add-Entity Minimal Example - Behavior", + "description": "", + "uuid": "6eaedf14-74c0-49e1-907d-3a8974cb006b", + "min_engine_version": [1, 12, 0], + "version": [0, 0, 1] + }, + "modules": [ + { + "description": "", + "type": "data", + "uuid": "ac0dbc5d-6267-4bcc-ac65-521e5054c31b", + "version": [0, 0, 1] + } + ] +} \ No newline at end of file diff --git a/add_entity_robot/min/robot_example_min_behavior/pack_icon.png b/add_entity_robot/min/robot_example_min_behavior/pack_icon.png new file mode 100644 index 0000000..afd6eca Binary files /dev/null and b/add_entity_robot/min/robot_example_min_behavior/pack_icon.png differ diff --git a/add_entity_robot/min/robot_example_min_resources/entity/robot.entity.json b/add_entity_robot/min/robot_example_min_resources/entity/robot.entity.json new file mode 100644 index 0000000..de972fe --- /dev/null +++ b/add_entity_robot/min/robot_example_min_resources/entity/robot.entity.json @@ -0,0 +1,24 @@ +{ + "format_version": "1.10.0", + "minecraft:client_entity": { + "description": { + "identifier": "compass:robot", + "spawn_egg": { + "base_color": "#505152", + "overlay_color": "#3b9dff" + }, + "render_controllers": [ + "controller.render.default" + ], + "geometry": { + "default": "geometry.robot" + }, + "textures": { + "default": "textures/entity/robot" + }, + "materials": { + "default": "entity" + } + } + } +} \ No newline at end of file diff --git a/add_entity_robot/min/robot_example_min_resources/manifest.json b/add_entity_robot/min/robot_example_min_resources/manifest.json new file mode 100644 index 0000000..1e370ca --- /dev/null +++ b/add_entity_robot/min/robot_example_min_resources/manifest.json @@ -0,0 +1,18 @@ +{ + "format_version": 1, + "header": { + "name": "Robot Add-Entity Minimal Example - Resources", + "description": "", + "uuid": "bb405256-d96b-44c4-aca5-5044b660a0b2", + "min_engine_version": [1, 12, 0], + "version": [0, 0, 1] + }, + "modules": [ + { + "description": "", + "type": "resources", + "uuid": "2501c3e0-b136-41eb-85fc-c4457e8dfc7b", + "version": [0, 0, 1] + } + ] +} \ No newline at end of file diff --git a/add_entity_robot/min/robot_example_min_resources/models/entity/robot.geo.json b/add_entity_robot/min/robot_example_min_resources/models/entity/robot.geo.json new file mode 100644 index 0000000..040c768 --- /dev/null +++ b/add_entity_robot/min/robot_example_min_resources/models/entity/robot.geo.json @@ -0,0 +1,115 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.robot", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 2, + "visible_bounds_height": 2, + "visible_bounds_offset": [0, 1, 0] + }, + "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, + { + "name": "wheel", + "parent": "root", + "pivot": [0, 2, 0], + "cubes": [ + {"origin": [-1, 0, -3], "size": [2, 6, 6], "uv": [24, 27]}, + {"origin": [-3, 2.5, -0.5], "size": [6, 1, 1], "uv": [0, 50]} + ] + }, + { + "name": "body", + "parent": "root", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [1.25187, 2.27524, -1], "size": [1, 5, 2], "pivot": [0, 0, 0], "rotation": [0, 0, 6], "uv": [20, 39], "mirror": true}, + {"origin": [-3, 7, -3], "size": [6, 9, 6], "uv": [30, 0]}, + {"origin": [-5, 13, -1], "size": [2, 2, 4], "uv": [0, 39]}, + {"origin": [3, 13, -1], "size": [2, 2, 4], "uv": [0, 39], "mirror": true}, + {"origin": [-4, 10, 2], "size": [8, 8, 4], "uv": [0, 15]}, + {"origin": [-3, 12, 3], "size": [6, 8, 4], "uv": [24, 15]}, + {"origin": [-4, 19, 2], "size": [8, 4, 4], "uv": [0, 27]}, + {"origin": [-2.25187, 2.27524, -1], "size": [1, 5, 2], "pivot": [0, 0, 0], "rotation": [0, 0, -6], "uv": [20, 39]}, + {"origin": [-2, 6.62679, -3.26946], "size": [4, 1, 4], "pivot": [0, 0, 0], "rotation": [-35, 0, 0], "uv": [40, 27]} + ] + }, + { + "name": "right_arm", + "parent": "body", + "pivot": [-4, 13, 0], + "rotation": [-30, 15, 0], + "cubes": [ + {"origin": [-5, 9, -1], "size": [2, 5, 2], "uv": [12, 39]} + ] + }, + { + "name": "right_lower_arm", + "parent": "right_arm", + "pivot": [-4, 9, 0], + "rotation": [-15, 0, -10], + "cubes": [ + {"origin": [-4.5, 5, -0.5], "size": [1, 4, 1], "uv": [28, 46]} + ] + }, + { + "name": "right_hand", + "parent": "right_lower_arm", + "pivot": [-4, 5, 0], + "rotation": [-20, -20, 0], + "cubes": [ + {"origin": [-5, 4, -1], "size": [2, 1, 2], "uv": [10, 46]}, + {"origin": [-4.78869, 2.04685, -1], "size": [1, 2, 2], "inflate": -0.01, "pivot": [-4, 5, 0], "rotation": [0, 0, 25], "uv": [22, 46]}, + {"origin": [-4, 2, -0.5], "size": [1, 2, 1], "pivot": [-4, 5, 0], "rotation": [0, 0, -20], "uv": [0, 52]} + ] + }, + { + "name": "left_arm", + "parent": "body", + "pivot": [4, 13, 0], + "rotation": [-30, -15, 0], + "cubes": [ + {"origin": [3, 9, -1], "size": [2, 5, 2], "uv": [12, 39], "mirror": true} + ] + }, + { + "name": "left_lower_arm", + "parent": "left_arm", + "pivot": [4, 9, 0], + "rotation": [-15, 0, 10], + "cubes": [ + {"origin": [3.5, 5, -0.5], "size": [1, 4, 1], "uv": [28, 46], "mirror": true} + ] + }, + { + "name": "left_hand", + "parent": "left_lower_arm", + "pivot": [4, 5, 0], + "rotation": [-20, 20, 0], + "cubes": [ + {"origin": [3, 4, -1], "size": [2, 1, 2], "uv": [10, 46], "mirror": true}, + {"origin": [3.78869, 2.04685, -1], "size": [1, 2, 2], "inflate": -0.01, "pivot": [4, 5, 0], "rotation": [0, 0, -25], "uv": [22, 46], "mirror": true}, + {"origin": [3, 2, -0.5], "size": [1, 2, 1], "pivot": [4, 5, 0], "rotation": [0, 0, 20], "uv": [0, 52], "mirror": true} + ] + }, + { + "name": "head", + "parent": "body", + "pivot": [0, 15, -3], + "cubes": [ + {"origin": [-1, 14, -4], "size": [2, 2, 2], "uv": [0, 46]}, + {"origin": [-4, 16, -7], "size": [8, 7, 7], "uv": [0, 0]}, + {"origin": [-1, 25.79555, -5.05291], "size": [2, 2, 2], "pivot": [0, 15, -3], "rotation": [-15, 0, 0], "uv": [32, 39]}, + {"origin": [-0.5, 20.79555, -4.55291], "size": [1, 5, 1], "pivot": [0, 15, -3], "rotation": [-15, 0, 0], "uv": [18, 46]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/add_entity_robot/min/robot_example_min_resources/pack_icon.png b/add_entity_robot/min/robot_example_min_resources/pack_icon.png new file mode 100644 index 0000000..afd6eca Binary files /dev/null and b/add_entity_robot/min/robot_example_min_resources/pack_icon.png differ diff --git a/add_entity_robot/min/robot_example_min_resources/texts/en_US.lang b/add_entity_robot/min/robot_example_min_resources/texts/en_US.lang new file mode 100644 index 0000000..4a05bd2 --- /dev/null +++ b/add_entity_robot/min/robot_example_min_resources/texts/en_US.lang @@ -0,0 +1,2 @@ +entity.compass:robot.name=Robot +item.spawn_egg.entity.compass:robot.name=Spawn Robot diff --git a/add_entity_robot/min/robot_example_min_resources/textures/entity/robot.png b/add_entity_robot/min/robot_example_min_resources/textures/entity/robot.png new file mode 100644 index 0000000..7250622 Binary files /dev/null and b/add_entity_robot/min/robot_example_min_resources/textures/entity/robot.png differ