Git Product home page Git Product logo

minecraft-creator's Introduction

Welcome to Minecraft Bedrock documentation. Learn how to customize Minecraft: Bedrock Edition through Add-Ons.

Contributing

This project welcomes contributions and suggestions. New contributors should check out our more detailed contribution guidelines:

For docs-related issues, use the footers at the bottom of each doc, or submit directly to MicrosoftDocs/minecraft-creator

Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com. When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

Microsoft Open Source Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

minecraft-creator's People

Contributors

alexbuckgit avatar burymaddie avatar cmcclister avatar daanv2 avatar dhurataj avatar docsbryce avatar eddiepal avatar huypub avatar iconicnurdle avatar jakeshirley avatar jdheaden avatar jimseaman42 avatar joelant05 avatar kakinnun avatar learn-build-service-prod[bot] avatar mammerla avatar mardb avatar mooremg avatar neonerz avatar raprice avatar rmca14 avatar skylinerw avatar smell-of-curry avatar sprunkles137 avatar tfosmark avatar timshererwithaquent avatar tryashtar avatar v-jeffreykim avatar v-josjones avatar v-sidlama avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minecraft-creator's Issues

[Skin ID] Information is correct, although potentially missleading.

Descriptions (rightfully) identify skin_id as being used in the vanilla-files for picking a texture/skin to use. However, I think it overstates this relationship.

In fact, as addon creators, we tend to use skin_id very generically, for any kind of place where we need an integer, for example in animation controllers.

For an overview of how we are using this component internally, see these documents:

I think it would be better to explain this as a "dummy" (do you need more PC word?) that has no pre-defined behavior, and must be paired with auxiliary behavior to do anything.

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

GameTest API Sidebar TOC is not Alphabetical

GameTest API (both GameTest and Minecraft modules) sidebar TOC is not in alphabetical order. The main pages for these modules similarly do not list the classes in alphabetical order.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[BUG] [GameTest] Structure command fails

An issue occurs with spawning structures, the error output is unknown

I suspect it may be a command origin issue. The exact same command works when ran in console and in game, it still fails when the user is in game and the chunks are loaded.

  try {
    Commands.run("structure load my:structure 0 4 0");
  } catch (error) {
    console.log("Problem with command: " + error);
  }

Out: {"statusCode":-2147352576,"statusMessage":"An unknown error occurred while attempting to perform this command"}

Missing properties; minecraft:behavior.knockback_roar

Missing property details:

  • knockback_filters (filter)
  • damage_filters (filter)
  • on_roar_end (event/trigger)

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Transformation component has wrong property hierarchy.

The way that json-structure is described on MS docs is to first list all top-level properties, then list every nested property individually.

On this page, this structure got messed up, which implies that all properties need to be nested inside of "add". This is wrong.
image

In fact, the only thing that belongs inside "add" is the actual list of component-groups (as far as I can tell).

The examples listed on the page help show the correct format.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Transformation component is missing information about <event> syntax

When using minecraft:transformation, it is possible to transform into an entity with an event (for example, a baby zombie, or a specific villager type using this format: "into": "entity<event>".

For example: "into": "minecraft:drowned<minecraft:as_adult>"

In fact, your vanilla examples show this format. However, it isn't explained anywhere.

You write:

Entity Definition that this entity will transform into.

I suggest:

Entity Definition that this entity will transform into. An event can optionally be defined, which sets the event the entity will use after transformation. The format is entity<event>. If no event is supplied, then the entity will call minecraft:entity_transformed by default.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Improvement] [GameTest] Load chunk function

A function which takes an X,Z pair and loads the chunk at that location, generating it if required

Not sure how the internal of this would work, perhaps it could return a chunk class which can then be manually closed, otherwise it will keep ticking until the server stops. This could be represented in game as ticking areas but not editable by in game users.

Missing AI goals

The following AI goals are missing

  • minecraft:behavior.avoid_block
  • minecraft:behavior.avoid_mob_type
  • minecraft:behavior.celebrate
  • minecraft:behavior.celebrate_survive
  • minecraft:behavior.charge_attack
  • minecraft:behavior.charge_held_item
  • minecraft:behavior.circle_around_anchor
  • minecraft:behavior.controlled_by_player
  • minecraft:behavior.defend_village_target
  • minecraft:behavior.delayed_attack
  • minecraft:behavior.dragonchargeplayer
  • minecraft:behavior.dragondeath
  • minecraft:behavior.dragonflaming
  • minecraft:behavior.dragonholdingpattern
  • minecraft:behavior.dragonlanding
  • minecraft:behavior.dragonscanning
  • minecraft:behavior.dragonstrafeplayer
  • minecraft:behavior.dragontakeoff
  • minecraft:behavior.drop_item_for
  • minecraft:behavior.eat_block
  • minecraft:behavior.enderman_leave_block
  • minecraft:behavior.enderman_take_block
  • minecraft:behavior.equip_item
  • minecraft:behavior.find_mount
  • minecraft:behavior.find_underwater_treasure
  • minecraft:behavior.float_wander
  • minecraft:behavior.guardian_attack
  • minecraft:behavior.harvest_farm_block
  • minecraft:behavior.leap_at_target
  • minecraft:behavior.mingle
  • minecraft:behavior.move_outdoors
  • minecraft:behavior.move_to_block
  • minecraft:behavior.move_to_liquid
  • minecraft:behavior.move_towards_dwelling_restriction
  • minecraft:behavior.move_towards_home_restriction
  • minecraft:behavior.move_towards_restriction
  • minecraft:behavior.nap
  • minecraft:behavior.ocelotattack
  • minecraft:behavior.random_fly
  • minecraft:behavior.random_hover
  • minecraft:behavior.random_swim
  • minecraft:behavior.ranged_attack
  • minecraft:behavior.receive_love
  • minecraft:behavior.roll
  • minecraft:behavior.send_event
  • minecraft:behavior.share_items
  • minecraft:behavior.skeleton_horse_trap
  • minecraft:behavior.sleep
  • minecraft:behavior.slime_attack
  • minecraft:behavior.slime_float
  • minecraft:behavior.slime_keep_on_jumping
  • minecraft:behavior.slime_random_direction
  • minecraft:behavior.sneeze
  • minecraft:behavior.squid_dive
  • minecraft:behavior.squid_flee
  • minecraft:behavior.squid_idle
  • minecraft:behavior.squid_move_away_from_ground
  • minecraft:behavior.squid_out_of_water
  • minecraft:behavior.stalk_and_pounce_on_target
  • minecraft:behavior.stomp_attack
  • minecraft:behavior.swim_idle
  • minecraft:behavior.swim_wander
  • minecraft:behavior.swim_with_entity
  • minecraft:behavior.swoop_attack
  • minecraft:behavior.target_when_pushed

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Feature Request] Required/Optional indiciation of json properties

Is your feature request related to a problem? Please describe.
For JSON properties and validation it's useful to know if a property is required or optional, of course, it can also be just dependent on other properties, it would be a huge boon to be able to know if a property is required.

Describe the solution you'd like
The best way is possible to have required tags since I think most properties are optional, or just mention in the definitions on which properties it's dependent.

Missing property: minecraft:behavior.random_look_around

from witch

  • look_distance

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing property: minecraft:navigation.walk

Missing property: can_float

From the cat


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Improvement] [GameTest] Structure workflow

Improve the workflow for structures to allow Minecraft module to load structures

Currently the GameTest framework doesn't require a structure to be saved to a world, it is loaded from the behaviour pack itself. I think this should be updated to allow the Minecraft module to load structures too without requiring commands, it to be saved into the world or the gametest framework.

This decouples the structure from the world, allowing flexible usage of resource packs.

Perhaps a bool for the function could specify to prefer loading off disk instead of level? Therefore allowing structure updates.

Incomplete Component list

[Enter feedback here]
The Component list looks incomplete!
It starts with "minecraft:addrider" and ends with "minecraft:conditional_bandwidth_optimization",
so the names are from "a..." to "c..." and where is the rest ?


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing property: minecraft:damage_sensor, on_damage

on_damage is a trigger and can also have a target property.

But on_damage is a trigger object, maybe make a separate page for this?


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing documentation: minecraft:timer, random_time_choices

Missing documentation on the object structure of random_time_choices


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Document textures/{terrain,item}_texture.json

The following files:

  • textures/terrain_texture.json
  • textures/item_texture.json

are not documented well. The following fields look to be optimisations but since they're not explained, content creators (and marketplace partners) have been unable to take advantage of this.

  • num_mip_levels (Mipmap stuff? Sacrifice gpu mem for render performance?)
  • texture_name (Creates a new texture for gpu? How would this benefit people?)
  • resource_pack_name (Association? Is it used to merge textures?)

Boat documentation

I want to create a new boat model and animation, but nowhere is there a render controller for it


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

thanks

[Enter feedback here]
thankyou i think this is best now i learn about minecraft bedrock moding thanks


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing documentation: minecraft:ravager_blocked

Missing documentation on the object structure of: reaction_choices


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Vanilla example for boss component has wrong range

Range for snippet is currently set as :::code language="json" source="../../../../Source/VanillaBehaviorPack/entities/wither.json" range="19-22"::: but should be :::code language="json" source="../../../../Source/VanillaBehaviorPack/entities/wither.json" range="21-24":::


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

incomplete documentation

I am trying to decipher any way to read block state and have conditionals before failures, however the documentation here is pretty light and incomplete.

For instance:
assertBlockState
takes and argument:

blockStateName string

one would think that would link to the block state late mentioned in the same article, however it actually is a string from the NBT of the structure file used to produce the test framework. some statement to that effect would help clarify the document


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing arguments for methods in Block class

A number of methods in Block class lack documentation for required parameters:

  • getComponent looks like it would require a component ID
  • hasTag should have a tag string
  • setPermutation should have some parameters (not sure which ones exactly)
  • setType should have an ID string

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing filters

The following filters are missing from the filters list

  • in_block
  • in_contact_with_water
  • in_water
  • weather

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Expand the documentation for the "manifest.json" file

Currently, the manifest.json file is explained with what parts it has in it in the QuickStart, but nowhere is it documented what these parts actually do or how they function in a way that is helpful to a beginner or someone with little knowledge.

This file is the backbone of your entire Add-on or Resource Pack. Getting this file wrong is the difference between things working and not working. Bug fixes can't even begin if your manifest.json is malformed.

So with there being modules, dependencies, and header all possible requiring their own separate UUID or maybe the same UUID? I don't know, and I can't tell, and that's the problem.

There's no clear explanation of what constitutes a dependency vs. a module or how the manifest.json file can be structured to obtained desired behaviors. The current documentation amounts to "put these numbers here and it should work." And that's fine for getting started, quickly, but it's not conducive for helping people truly develop anything. It doesn't give you an understanding of what any of the parts do or how Minecraft interprets the different parts of the file. These are important things to know if you are to build out more complicated Add-Ons or simply are trying to understand why your Add-On is failing to load or be read by Minecraft.

Information about setting owner is either wrong, or needs clarification

The page contains a prominent "Important" banner, with the following information:

minecraft:behavior.follow_owner requires the entity to be marked as an owner either via taming or setting a console command.

This is confusing to me, since as a creator, it was my understanding that it was impossible to set owner via console commands. The ability to set owner via commands has been an extremely sought-after feature.

I see two possible courses of action:

  1. Remove the bolded information, since it is incorrect, and brings false hope for a highly-asked-for feature.
  2. Add additional information about exactly what command to use. See above: This is something we all want, so if its possible, then tell us!

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Documentation missing on "tick.json" in behavior packs "functions" folder.

After sifting through the documentation, I noticed no documents relating to the tick.json file being actively being used by content creators and add-on developers.

Source of external community documentation that the community currently uses.

https://wiki.bedrock.dev/concepts/mcfunction#creating-tickjson

Here's some information that may be helpful.

1. This file does not exist in the vanilla example behavior pack but can be created following the above tutorial.
- You can also take a look at the below example at the bottom of this issue.

2. This file needs to be created in this directory of a behavior pack. "functions/tick.json"

3. It's unknown what keys are supported besides "values":[]
"values": ["function1", "function2"] which is the only known key.

4. This file executes function files continuously without the need for command blocks, entities, or ticking areas.

Here's a working test example from one of my many Marketplace maps that use this feature.

tickjson_BP.zip

[BUG] [GameTest] TypeError for createExplosion

Trying to spawn an explosion gets a type error

Version: Version 1.17.10.22
Error: TypeError: Unexpected type passed to Native function argument [0]

Replication:

    let dim = World.getDimension("overworld");

    let eo = new ExplosionOptions();

    try {
      dim.createExplosion(new BlockLocation(0, 4, 0), 10, eo);
    } catch (error) {
      console.log(error);
    }

Missing property: minecraft:shooter

Missing property: type

from the enderdragon


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing documentation for `on_hit` field in `minecraft:projectile` component

Projectile docs are missing the documentation for on_hit field. The entity examples all have this field.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Improvement] [GameTest] Pre entity spawn event

Fire an event before an entity spawns

Allow event handlers to modify entities before they spawn, essentially acting as a pre admission hook. The ability to cancel this (where appropriate, for example would cancelling on a player kick them?) would probably come in use as a filter or forcing components to be added/modified (rainbow sheep world anyone?)

Missing properties: minecraft:behavior.panic

Missing documentation for the following properties:

from strider

  • panic_sound
  • sound_interval

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Improvement] [GameTest] Teleport function for Entity

A teleport function on the Entity class

It would mean people don't have to write a helper to do it as a command

Additional requirement sent by someone:

  • Optional dimension parameter for this function (omit and it implicitly knows the same dimension)

Missing explanation of minecraft:ravager_blocked

Missing explanation of reaction_choices


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Suggestion]Multilingual Support

Are there any plans to make this great document available in other languages for all Minecraft creators?
For example, Japanese, Chinese, French, and other languages that are supported by Minecraft.

Missing Entity Components / Properties

The following components / properties are missing

  • minecraft:attack_damage
  • minecraft:balloonable
  • minecraft:block_climber
  • minecraft:dweller
  • minecraft:fall_damage
  • minecraft:follow_range
  • minecraft:foot_size
  • minecraft:health
  • minecraft:hide
  • minecraft:horse.jump_strength
  • minecraft:hurt_when_wet
  • minecraft:knockback_resistance
  • minecraft:lava_movement
  • minecraft:movement
  • minecraft:movement.glide
  • minecraft:npc
  • minecraft:player.saturation
  • minecraft:player.exhaustion
  • minecraft:player.level
  • minecraft:player.experience
  • minecraft:trade_resupply
  • minecraft:trust
  • minecraft:underwater_movement

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Improvement] [GameTest] Access to player's inventory

Ideally you should be able to access a player's inventory by calling getComponent() to get the inventory component, exactly like you can on other entites.

Unfortunately this doesn't seem to be possible yet and the inventory component is inaccessible on players.

This should return the Inventory class for access to its properties and methods.

[Improvement] [GameTest] Pre world-gen hook

Add a hook before a chunk generates

This would call a function before the chunk actually generates, this wouldn't have much use other than cancelling and/or overriding with "custom" generation (pretty grim way to do it lol but 🤷‍♂️ )

[Improvement] [GameTest] Register custom commands

Register custom commands with the ability to pass a function to handle usage

A few specific things which would be important I feel:

  • Able to register at any time and per-user (pseudo-permission based systems could be achieved with this)
  • Able to unregister a command
  • Able to register custom enums as part of the command
  • Allow some of the special types such as player and coordinates to be field options
    • Those fields should ideally be presented as the correct type, eg. ~ ~ ~ would be received as a Location

Missing properties: minecraft:behavior.tempt

from strider

  • can_tempt_while_ridden
  • can_tempt_vertically
  • sound_interval
  • tempt_sound

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

The "header" field is incorrectly shown as "heSader" in the example.

There is a typo in the example text for the behavior pack manifest.json. The "header" field is incorrectly shown as "heSader" in the example.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

spreadFromFaceTowardDirection doc needs correcting

Is your feature request related to a problem? Please describe.
spreadFromFaceTowardDirection looks like the doc was copy pasted and just needs updating

Describe the solution you'd like
spreadFromFaceTowardDirection documented correctly

Describe alternatives you've considered
N/A

Additional context

  /**
    * @remarks
    * Tests that a particular item entity is present at a particular location. If not, an exception is thrown.
    *
    * @param location BlockLocation containing a multiface block.
    * @param fromFace Face to spread from. This face must already be set.
    * @param direction Direction to spread. Use the Minecraft.Direction enum to specify a direction.
    *
    *
    * @throws This function can throw errors.
    * @example spreadFromFaceTowardDirection.js
    * ```typescript
    *    test.spreadFromFaceTowardDirection(new BlockLocation(1, 2, 1), Direction.south, Direction.down);
    * ```
    */
  spreadFromFaceTowardDirection(location: Minecraft.BlockLocation, fromFace: number, direction: number): void;

Missing documentation: minecraft:inside_block_notifier

Missing documentation on the following properties:

  • entered_block_event
  • exited_block_event

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Missing documentation: minecraft.equipment, slot_drop_chance

Documentation on the slot_drop_chance object structure is missing.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

[Improvement] [GameTest] Server forms

Allow server form to be sent from api

Custom forms would be a really useful system to allow developers top use. Addons can't make use of it at the moment, despite the millions of customizable options. Users in the server modding scene are making use of the form to create menus and a better user experience.

It would be ideal if:

  • Factory/builder function to build up a form with its various elements
    • Add handler for response to this as part of the factory/builder

Missing property: minecraft:is_stackable

Missing property in the documentation: value, from the chest_minecart


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.