From 4f1c405ee85be646e77d077133470f704c387bc7 Mon Sep 17 00:00:00 2001 From: Mike Ammerlaan Date: Tue, 1 Mar 2022 17:43:17 -0800 Subject: [PATCH] Add an add_entity robot sample; update docs. --- README.md | 10 +- SUPPORT.md | 18 --- add_entity_robot/README.md | 42 +++++++ .../robot.animation_controllers.json | 26 ++++ .../animations/robot.animation.json | 14 +++ .../entities/robot.json | 74 +++++++++++ .../robot_example_full_behavior/manifest.json | 18 +++ .../robot_example_full_behavior/pack_icon.png | Bin 0 -> 1321 bytes .../spawn_rules/robot.json | 26 ++++ .../animations/robot.animation.json | 13 ++ .../entity/robot.entity.json | 32 +++++ .../manifest.json | 18 +++ .../models/entity/robot.geo.json | 115 ++++++++++++++++++ .../pack_icon.png | Bin 0 -> 1321 bytes .../robot.render_controllers.json | 19 +++ .../texts/en_US.lang | 2 + .../textures/entity/robot.png | Bin 0 -> 8095 bytes .../textures/entity/robot_b.png | Bin 0 -> 7921 bytes .../textures/entity/robot_c.png | Bin 0 -> 8145 bytes add_entity_robot/install_uwp.cmd | 4 + .../entities/robot.json | 13 ++ .../robot_example_min_behavior/manifest.json | 18 +++ .../robot_example_min_behavior/pack_icon.png | Bin 0 -> 1409 bytes .../entity/robot.entity.json | 24 ++++ .../robot_example_min_resources/manifest.json | 18 +++ .../models/entity/robot.geo.json | 115 ++++++++++++++++++ .../robot_example_min_resources/pack_icon.png | Bin 0 -> 1409 bytes .../texts/en_US.lang | 2 + .../textures/entity/robot.png | Bin 0 -> 1778 bytes 29 files changed, 596 insertions(+), 25 deletions(-) create mode 100644 add_entity_robot/README.md create mode 100644 add_entity_robot/full/robot_example_full_behavior/animation_controllers/robot.animation_controllers.json create mode 100644 add_entity_robot/full/robot_example_full_behavior/animations/robot.animation.json create mode 100644 add_entity_robot/full/robot_example_full_behavior/entities/robot.json create mode 100644 add_entity_robot/full/robot_example_full_behavior/manifest.json create mode 100644 add_entity_robot/full/robot_example_full_behavior/pack_icon.png create mode 100644 add_entity_robot/full/robot_example_full_behavior/spawn_rules/robot.json create mode 100644 add_entity_robot/full/robot_example_full_resources/animations/robot.animation.json create mode 100644 add_entity_robot/full/robot_example_full_resources/entity/robot.entity.json create mode 100644 add_entity_robot/full/robot_example_full_resources/manifest.json create mode 100644 add_entity_robot/full/robot_example_full_resources/models/entity/robot.geo.json create mode 100644 add_entity_robot/full/robot_example_full_resources/pack_icon.png create mode 100644 add_entity_robot/full/robot_example_full_resources/render_controllers/robot.render_controllers.json create mode 100644 add_entity_robot/full/robot_example_full_resources/texts/en_US.lang create mode 100644 add_entity_robot/full/robot_example_full_resources/textures/entity/robot.png create mode 100644 add_entity_robot/full/robot_example_full_resources/textures/entity/robot_b.png create mode 100644 add_entity_robot/full/robot_example_full_resources/textures/entity/robot_c.png create mode 100644 add_entity_robot/install_uwp.cmd create mode 100644 add_entity_robot/min/robot_example_min_behavior/entities/robot.json create mode 100644 add_entity_robot/min/robot_example_min_behavior/manifest.json create mode 100644 add_entity_robot/min/robot_example_min_behavior/pack_icon.png create mode 100644 add_entity_robot/min/robot_example_min_resources/entity/robot.entity.json create mode 100644 add_entity_robot/min/robot_example_min_resources/manifest.json create mode 100644 add_entity_robot/min/robot_example_min_resources/models/entity/robot.geo.json create mode 100644 add_entity_robot/min/robot_example_min_resources/pack_icon.png create mode 100644 add_entity_robot/min/robot_example_min_resources/texts/en_US.lang create mode 100644 add_entity_robot/min/robot_example_min_resources/textures/entity/robot.png 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 0000000000000000000000000000000000000000..403efc29564e62e77be82baeba1c466eb325fcfe GIT binary patch literal 1321 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 f8t2K=|1Y9%re&tt{pv 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
dm9_QIwJ+{o$J&3q4pD*vM!Wu11@(zl(1kv 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 b+ZO);1XKfP&ld3;00000NkvXXu0mjfClF80 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a84878ed7cb66ee79a544ed7cc70c86fd09149d9 GIT binary patch literal 8145 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..afd6eca5f646e9de2f18c7855ae6b53d2faea24d GIT binary patch literal 1409 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 UeXu=@BLDyZ07*qoM6N<$g1){sO#lD@ literal 0 HcmV?d00001