# Upcoming Features

## Functions

Used to modify outcome objects, such as BlockStates, Entities, ItemStacks, etc. This is intended mostly as an alternative to the component system for Entities & Blocks.

| Id                        | Default Target             | Parameters                         | Use Case                                                                               |
| ------------------------- | -------------------------- | ---------------------------------- | -------------------------------------------------------------------------------------- |
| set\_age                  | ageable entities           | age                                | set age of animal                                                                      |
| set\_count                | all                        | count                              | set count of anything                                                                  |
| distribute\_count         | all                        | functions, total\_count            | uses the count from all functions to determine a proportional amount to the total      |
| group                     | all                        | functions                          | run multiple functions once                                                            |
| loop                      | all                        | function                           | run the function over time at an interval; for example: once every 1s                  |
| random\_count             | all                        | function, count                    | run the function multiple times                                                        |
| random\_split             | all                        | valid\_function, invalid\_function | runs a function for all valid targets and a different function for all invalid targets |
| set\_pos                  | all                        | pos                                | set position of anything                                                               |
| set\_color                | colorables                 | color                              | dye sheep, shulkers, items, blocks, etc                                                |
| set\_charged              | creepers                   | charged                            | make creepers charged                                                                  |
| set\_direction            | directionals               | direction                          | set direction of blocks, entities, or structures                                       |
| set\_velocity             | entities, particles        | velocity                           | set velocity of entity                                                                 |
| add\_passenger            | entities                   | passenger                          | add a passenger to entity                                                              |
| set\_nbt                  | entities/block entities    | nbt                                | only because nbt still exists, please please remove it mojang                          |
| set\_goat\_horns          | goats                      | horns                              | set goat horns on goat                                                                 |
| set\_components           | items                      | components                         | item modifications                                                                     |
| set\_name                 | items/entities             | name                               | set name of item or entity                                                             |
| add\_enchantments         | items                      | enchantments                       | set enchantments of item                                                               |
| add\_status\_effects      | living entities            | status\_effects                    | add status effect to entity                                                            |
| set\_equipment            | living entities            | slot->item                         | set mob equipment                                                                      |
| set\_attribute\_modifiers | living entities/items      | attribute->value                   | set max health, armor, etc of the spawned mob or of the itemstack                      |
| set\_level                | enchantments               | level                              | set level of enchantment                                                               |
| set\_target               | mobs                       | target                             | angering & setting target of mobs                                                      |
| set\_owner                | pets                       | owner                              | taming pets, ender pearls                                                              |
| set\_sitting              | pets                       | sitting                            | make pets sit                                                                          |
| set\_rotation             | rotationals                | rotation                           | setting initial mob rotation                                                           |
| set\_sheared              | sheep                      | sheared                            | make sheep sheared                                                                     |
| set\_variant              | variant entities           | variant                            | frog variants, fox variants, tropical fish, axolotls, etc                              |
| set\_size                 | slimes, salmon, pufferfish | size                               | sets the size of the entity                                                            |
| set\_saddle               | rideables                  | saddle                             | adds a saddle to the entity so they can be ridden                                      |
| set\_villager\_data       | villagers                  | profession, rank, trades           | sets villager data                                                                     |
| set\_baby                 | animals                    | baby                               | makes the animal a baby                                                                |
| set\_item                 | item frames, foxes         | stack                              | sets the entity's single held item when not using equipment slots                      |
| initialize\_mobs          | mobs                       | data                               | default mob spawning mechanics: skeleton bows, horse stats, etc                        |

## Boolean Providers

Return a boolean value, usable in any codec-based object.

| Id     | Parameters | Description           |
| ------ | ---------- | --------------------- |
| simple | value      | returns a boolean     |
| random | N/A        | returns true or false |

## Color Providers

Return a color value, usable in any codec-based object.

| Id     | Parameters | Description            |
| ------ | ---------- | ---------------------- |
| simple | color      | returns a color        |
| random | colors     | returns a random color |

## Entity Providers

Return an Entity value, usable in any codec-based object.

| Id                | Parameters | Description                                         |
| ----------------- | ---------- | --------------------------------------------------- |
| random\_in\_shape | shape      | returns a random player in the shape                |
| target            | provider   | returns the current target entity of the provided   |
| attacker          | provider   | returns the current attacker entity of the provided |
| owner             | provider   | returns the owner entity of the provided            |
| random\_passenger | provider   | returns a random passenger entity of the provided   |

## Stack Providers

Return an ItemStack value, usable in any codec-based object.

| Id     | Parameters        | Description                                       |
| ------ | ----------------- | ------------------------------------------------- |
| simple | stack, components | returns an itemstack                              |
| random | stacks            | returns a random itemstack from the provided list |

## Text Providers

Return a text value, usable in any codec-based object.

| Id       | Parameters | Description                             |
| -------- | ---------- | --------------------------------------- |
| simple   | text       | returns a basic text                    |
| random   | texts      | returns a random text                   |
| compound | texts      | returns a combination of multiple texts |

## Vec Providers

Return a Vec3d value, usable in any codec-based object.

|                      |                | Description                                         |
| -------------------- | -------------- | --------------------------------------------------- |
| constant             | vec            | returns a vector                                    |
| random               | vecs           | returns a random vector                             |
| random\_in\_shape    | shape          | returns a random vector within the shape            |
| clamp\_to\_heightmap | vec, heightmap | clamps the vector to the heightmap                  |
| random\_velocity     | power, pitch   | returns a velocity vector, based on power and pitch |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.creoii.dev/lucky-block/upcoming-features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
