> For the complete documentation index, see [llms.txt](https://alec.gitbook.io/custom-machinery-botania-1.19/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://alec.gitbook.io/custom-machinery-botania-1.19/creating-custom-machines/machine-components/mana-component.md).

# Mana Component

{% hint style="warning" %}
This component requires [Custom Machinery Botania](https://www.curseforge.com/minecraft/mc-mods/custom-machinery-botania) to be installed.
{% endhint %}

This component is used to make the machine to hold Botania mana.

It is compatible with Botania mana spreaders and other mod stuff that uses the same system.

Basically adding this component to the machine json will add a mana tank to the machine.

{% hint style="info" %}
You can add only one mana component to your machine.

If more than one is added, only one will work.
{% endhint %}

### Properties

The mana component has 2 mandatory property and 3 optional properties:

#### Mandatory properties

```json
"type": "custommachinery:mana" //Mandatory to define a mana component.
```

<details>

<summary>Capacity</summary>

#### **Name**: `capacity`

#### **Description**:

A positive integer value that define the amount of mana that can be stored in the tank (Volume in Botania mana)

#### Example:

```json
"capacity": 100000
```

</details>

#### Optional properties

<details>

<summary>Max input</summary>

#### Name : `maxInput`

#### Description :&#x20;

A positive integer that represent the max mana that can be input in the tank during a single tick.

#### Default :&#x20;

The `capacity` of the tank.

#### Example :&#x20;

```json5
"maxInput": 1000 //The machine can accept 1000 mana/tick
```

</details>

<details>

<summary>Max output</summary>

#### Name : `maxOutput`

#### Description :&#x20;

A positive integer that represent the max mana that can be output from the tank during a single tick.

#### Default :&#x20;

The `capacity` of the tank.

#### Example :&#x20;

```json5
"maxOutput": 1000 //The machine can give 1000 mana/tick
```

</details>

<details>

<summary>Mode</summary>

#### Name : `mode`

#### Description :&#x20;

The IO mode of the tank(can be change ingame with wand of the forest).

Available modes are (input/output/both/none).&#x20;

#### Default : `both`

#### Example :&#x20;

```json5
"mode": "input" //Set the tank as an input tank.
```

</details>

### Example

An example of a mana component that stores 100000 mana, send 1000 mana/tick and receive 666 mana/tick.

```json
{
    "type": "custommachinery:mana",
    "capacity": 100000,
    "maxInput": 1000,
    "maxOutput": 666
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://alec.gitbook.io/custom-machinery-botania-1.19/creating-custom-machines/machine-components/mana-component.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.
