# Machine GUI

The Machine GUI is the main tool to interact with the machine in-world. It will be used to display the current status of the machine as well as the different components and their contents.

A machine GUI is not mandatory, if you don't want it just don't put it in the machine json.

A Machine GUI is composed of various GUI Elements, there is no limit of how many elements you can put.

The Machine GUI and it's Elements must be defined as such in the machine json :

```json5
"gui": [
    {
        //Element 1
    },
    {
        //Element 2
    }
]
```

{% hint style="info" %}
By default the machine gui has no background, to change that and/or change the size of the gui see the [background element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/background-element) wiki page.
{% endhint %}

### GUI Elements

There are currently 17 available GUI elements :&#x20;

{% content-ref url="machine-gui/background-element" %}
[background-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/background-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/bar-element" %}
[bar-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/bar-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/button-element" %}
[button-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/button-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/config-element" %}
[config-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/config-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/dump-element" %}
[dump-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/dump-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/empty-element" %}
[empty-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/empty-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/energy-element" %}
[energy-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/energy-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/experience-element" %}
[experience-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/experience-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/fluid-element" %}
[fluid-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/fluid-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/fuel-element" %}
[fuel-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/fuel-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/player-inventory-element" %}
[player-inventory-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/player-inventory-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/progress-bar-element" %}
[progress-bar-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/progress-bar-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/reset-element" %}
[reset-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/reset-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/split-element" %}
[split-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/split-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/slot-element" %}
[slot-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/slot-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/status-element" %}
[status-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/status-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/text-element" %}
[text-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/text-element)
{% endcontent-ref %}

{% content-ref url="machine-gui/texture-element" %}
[texture-element](https://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui/texture-element)
{% endcontent-ref %}


---

# 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://frinn.gitbook.io/custom-machinery-1.21/creating-custom-machines/machine-gui.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.
