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

# 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](/custom-machinery-1.21/creating-custom-machines/machine-gui/background-element.md) wiki page.
{% endhint %}

### GUI Elements

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

{% content-ref url="/pages/rUPHgsYcZT57KxHlNVQG" %}
[Background element](/custom-machinery-1.21/creating-custom-machines/machine-gui/background-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/Iqr9B4YgbpwKIUlInMh6" %}
[Bar element](/custom-machinery-1.21/creating-custom-machines/machine-gui/bar-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/JURzyjSkj2h1SWq4msyb" %}
[Button element](/custom-machinery-1.21/creating-custom-machines/machine-gui/button-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/Th1xdiOT00mCDgbRF5l3" %}
[Config element](/custom-machinery-1.21/creating-custom-machines/machine-gui/config-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/sDjbuBVEw9ShqnykcrEt" %}
[Dump element](/custom-machinery-1.21/creating-custom-machines/machine-gui/dump-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/fGmpxeIXbbyaNvO27y40" %}
[Empty element](/custom-machinery-1.21/creating-custom-machines/machine-gui/empty-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/uHeB6I5i3xWcZmjSobRT" %}
[Energy element](/custom-machinery-1.21/creating-custom-machines/machine-gui/energy-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/wuJmIsWQbxVjjmeYY2Xv" %}
[Experience element](/custom-machinery-1.21/creating-custom-machines/machine-gui/experience-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/dGhjQ9gg6vNIzrZ6qYSk" %}
[Fluid element](/custom-machinery-1.21/creating-custom-machines/machine-gui/fluid-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/RKGaEXJIgLsGevQpyRQt" %}
[Fuel element](/custom-machinery-1.21/creating-custom-machines/machine-gui/fuel-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/HC0MKoYadefiqj9SRHDg" %}
[Player inventory element](/custom-machinery-1.21/creating-custom-machines/machine-gui/player-inventory-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/dUW7PdOPn7rrMIgxOhBJ" %}
[Progress bar element](/custom-machinery-1.21/creating-custom-machines/machine-gui/progress-bar-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/e0XfVzlBiQzqvErLqE1B" %}
[Reset element](/custom-machinery-1.21/creating-custom-machines/machine-gui/reset-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/6up9ppjGo7oGed9k6O7x" %}
[Split element](/custom-machinery-1.21/creating-custom-machines/machine-gui/split-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/lYGruA2LpIDm2BpI3Fs2" %}
[Slot element](/custom-machinery-1.21/creating-custom-machines/machine-gui/slot-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/eeNcFg7Htb8iZAgYmlk4" %}
[Status element](/custom-machinery-1.21/creating-custom-machines/machine-gui/status-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/rDQLBVHAjkTbpzDvn6it" %}
[Text element](/custom-machinery-1.21/creating-custom-machines/machine-gui/text-element.md)
{% endcontent-ref %}

{% content-ref url="/pages/YmsFonQswqxyyENquX7m" %}
[Texture element](/custom-machinery-1.21/creating-custom-machines/machine-gui/texture-element.md)
{% endcontent-ref %}


---

# 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://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.
