UI Utils Documentation

Overview Of Features

UI-Utils has many features, which will be documented here. When opening an inventory / container with UI-Utils, you will notice some extra features, here is a list of those features with descriptions:

When opening an inventory or container with UI-Utils enabled, you'll see additional buttons and controls that provide powerful functionality.

Close without packet
Close your GUI without sending a CloseHandledScreenC2SPacket to the server.
De-sync
Send a CloseHandledScreenC2SPacket without closing your GUI client-side.
Send packets: true / false
When enabled, no GUI related packets will be sent to the server (ClickSlotC2SPacket and ButtonClickC2SPacket.)
Delay packets: true / false
When enabled, no GUI related packets will be sent to the server (ClickSlotC2SPacket and ButtonClickC2SPacket) until disabled, then, all delayed packets will be sent in the same tick.
Save GUI
Saves your GUI internally and can be re-opened using a key-binding (default key-binding is 'v',) this works well with the "Close without packet" feature.
Disconnect and send packets
Sends all queued packets from "Delay packets", then, immediately disconnects from the server.
Fabricate packet
Opens a window that allows you to send any GUI packet any amount of times (see 'Fabricate Packet Feature' for more information.)
Copy GUI Title JSON
Copies your GUI's title as JSON.
Sync Id: ??
Shows your GUI's sync ID.
Revision: ??
Shows your GUI's revision ID.

The text box below is a chat field for chatting or running commands while in a GUI. Another random feature allows you to wake up out of a bed (client-side) by clicking the "Client wake up" button while in a bed. You can also bypass required resource packs on servers by enabling "Bypass Resource Pack" in the multiplayer screen, if you still get kicked, enable "Force Deny" to block all server resource packs. All of those features can be disabled / enabled by running "^toggleuiutils" in chat.

Fabricate Packet Feature

The Fabricate Packet feature allows you to create and send custom GUI packets for advanced interactions with the server.

Using the fabricate packet feature, you can create any GUI packet and send it any amount of times. When clicking Fabricate packet, you will see a window prompting you for a packet to send:

Select Packet Type

Click Slot
Button Click

Click Slot Packet

When selecting "Click Slot", a window appears with several fields:

  • Sync Id: Should match the "Sync Id" field shown in your in-game GUI
  • Revision: Should match the "Revision" field shown in your in-game GUI
  • Slot: Numeric ID for the inventory slot you want to interact with
  • Button: Which mouse button is being clicked:
    • • 0: Left click (or no button)
    • • 1: Right click
    • • 0-8: Hotbar slot (when using SWAP)
    • • 40: Offhand (when using SWAP)
  • Action: Type of click action:
    • PICKUP: Click item
    • PICKUP_ALL: Double click item
    • QUICK_MOVE: Shift click item
    • SWAP: Swap item to hotbar
    • CLONE: Middle click item
    • THROW: Drop item
    • QUICK_CRAFT: Used for quick crafting

Button Click Packet

When selecting "Button Click", you can send a ButtonClickC2SPacket, which can click buttons on a GUI, such as enchantments in an enchanting table.

  • Sync Id: Should match the in-game "Sync Id" field
  • Button Id: Numeric ID of the button (starting at zero)

Advanced Usage: You can send any GUI packet multiple times by adjusting the "Times to send" field. The "Delay" checkbox should be checked if you want to queue packets into the "Delay packets" system (they'll send immediately if "Delay packets" is off).

Building And Installation

Quick Start: For most users, we recommend downloading a pre-built jar from the releases page rather than building from source.

Installation Steps

  1. Download UI-Utils jar file (pre-built or self-built)
  2. Install FabricMC for your Minecraft version
  3. Place the UI-Utils jar in your Minecraft mods folder
  4. Download and add Fabric API to your mods folder
  5. Launch Minecraft and enjoy!

Building From Source

Linux Build Instructions

To build your own jar file, download a source code archive (ui-utils-x.x.x.tar.gz or ui-utils-x.x.x.zip), extract it, then open a terminal in that directory and run:

sha256sum -b ./gradle/wrapper/gradle-wrapper.jar

Verify the output against the official Gradle checksums (use CTRL+F to search). Then build the jar file:

chmod +x ./gradlew ./gradlew build

Windows Build Instructions

On Windows, follow these steps:

  1. Download and extract the source code archive
  2. Verify the SHA256 checksum of ./gradle/wrapper/gradle-wrapper.jar using a tool like PowerToys or Get-FileHash in PowerShell
  3. Check that the hash appears in the official Gradle checksums
  4. Open Command Prompt in the extracted folder
  5. Run the build command:
gradlew build

After building, your jar file will be located at ./build/libs/ui-utils-x.x.x.jar.

Tip: If you encounter any issues during installation, join our Discord server for community support.