Table of Contents
Action Contexts
Actions have a certain context that they use for passing the requirements and executing the actions themselves. Where appropriate, this context is denoted in a table with types with a description for each type. An example of such table is shown below. Some types have an additional parameter attached, as they may require multiple entries. These are all the possible types:
World | The world the action is executing in. |
---|---|
Entity | The entities that are used for executing an action. Has a parameter. |
Position | The positions in the world that are used for executing an action. Has a parameter. Note that if an invalid position is used, the world spawn is used instead. |
Side | The side of a block the action is executed on. Note that this value may not always be present, in which case it defaults to up . |
Item Stack | The item stack used. Note that modifying or setting a new item stack does not overwrite the item stack in the context. This means you still have access to the original item stack, even if it was changed. |
Example
Parameter | Description | |
---|---|---|
Entity | this | The player using the item stack. |
target | The entity the player used the item stack on. | |
Position | this | The position of the player. |
target | The position of the target entity. | |
Item Stack | The item stack used by the player. |
Parameters
Sometimes a singular entry is not enough.
This is what parameters are useful for.
They allow you to refer to some other entry in the action context, rather than just the executing entry.
In an action context, the parameters should be inferred by their usage.
For example, a player using an item stack has no target
entity, but using an item stack on another entity does.
On the other hand, a Dispenser dispensing an item has no entity at all.
Note that an entry that is not present may cause the action to fail, or may cause unintended behavior.
Values
Name | Applies to |
---|---|
this | The original executing type. |
target | The targeted type, usually a direct target from the original executing type. |
Parameter Sets
These parameters are sometimes defined in a set, usually when they are converted to some other context, such as a function context or a loot context. It has fields for all types with parameters in the action context.
Fields
Name | Description | Type | Default Value |
---|---|---|---|
entity | The entity to pick from the context. | An action context parameter | |
position | The position to pick from the context. | An action context parameter |
Example
{ "entity": "this", "position": "target" }