microsoftdocs / minecraft-creator Goto Github PK
View Code? Open in Web Editor NEWThis is the repository for Minecraft Bedrock documentation.
License: Creative Commons Attribution 4.0 International
This is the repository for Minecraft Bedrock documentation.
License: Creative Commons Attribution 4.0 International
Missing property details:
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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.
https://wiki.bedrock.dev/concepts/mcfunction#creating-tickjson
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.
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.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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":::
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Documentation on the slot_drop_chance object structure is missing.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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 explanation of reaction_choices
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing property: type
from the enderdragon
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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"}
A number of methods in Block class lack documentation for required parameters:
getComponent
looks like it would require a component IDhasTag
should have a tag stringsetPermutation
should have some parameters (not sure which ones exactly)setType
should have an ID string⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
The following AI goals are missing
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing property: can_float
From the cat
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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 🤷♂️ )
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 callminecraft:entity_transformed
by default.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing documentation on the object structure of: reaction_choices
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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:
The following filters are missing from the filters list
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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?)The following components / properties are missing
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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.
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:
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing documentation on the following properties:
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
from strider
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing documentation for the following properties:
from strider
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
[Enter feedback here]
thankyou i think this is best now i learn about minecraft bedrock moding thanks
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
from witch
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing property in the documentation: value
, from the chest_minecart
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Projectile docs are missing the documentation for on_hit
field. The entity examples all have this field.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
[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 ?
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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?)
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.
Add the ability to listen to entity events
The ability to listen to events on a specific entity instance (probably planned)
Tick event is currently void, provide the tick number
Users are able to set a tick themselves outside the handler for the event and increment every time, but ideally it could just yield the tick number as the event.
Register custom commands with the ability to pass a function to handle usage
A few specific things which would be important I feel:
~ ~ ~
would be received as a Locationon_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?
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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.
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.
I want to create a new boat model and animation, but nowhere is there a render controller for it
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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:
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Suggest removing "minecraft:" prefix on reference items to improve readability of sidebar nav.
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);
}
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.
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.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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:
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.
Current JSON snippet for wither is malformed.
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Missing documentation on the object structure of random_time_choices
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
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;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.