SGL (Super GUI Lib)

SGL (Super GUI Lib)

Super GUI Lib - A library for creating beautiful GUIs without assets.

by
528 Downloads
fabriclibraryutility
Rent Server with this Mod

Screenshots

SGL (Super GUI Lib) Screenshot 1
SGL (Super GUI Lib) Screenshot 2
SGL (Super GUI Lib) Screenshot 3
SGL (Super GUI Lib) Screenshot 4
SGL (Super GUI Lib) Screenshot 5
SGL (Super GUI Lib) Screenshot 6

About this Mod

SuperGUILib V2 - Enhanced Minecraft GUI Library

A modern, easy-to-use GUI library for Minecraft 1.21.11 (Fabric) that makes creating beautiful user interfaces simple and fun!

🎮 What is SuperGUILib?

SuperGUILib is a powerful toolkit that helps Minecraft mod developers create stunning graphical user interfaces without dealing with complex rendering code. Think of it as a "GUI builder" that lets you create menus, settings screens, and interactive displays with just a few lines of code!

Perfect for:

  • Settings menus
  • Custom inventories
  • Interactive displays
  • Configuration screens
  • In-game tools and utilities

✨ Key Features

  • 🎨 Beautiful Pre-styled Components - Buttons, sliders, text fields, and more
  • 🖱️ Interactive Elements - Click sounds, hover effects, cooldowns
  • 📜 Auto-scrolling - Automatically handles content overflow
  • 🎯 Item Display - Show Minecraft items with tooltips
  • 🎵 Custom Sounds - Add audio feedback to your UI
  • 📱 Responsive Design - Adapts to different screen sizes
  • 🚀 Easy to Use - Simple builder pattern API

🚀 Quick Start

Try It In-Game

Run these commands to see examples:

/sgl-v2 testgui          - Enhanced examples menu with all features
/sgl testgui             - Original examples menu

Create Your First GUI

import org.stepan1411.super_gui_lib.client.api.GuiBuilder;
import net.minecraft.client.gui.screen.Screen;

public class MyFirstGUI {
    public static Screen create() {
        return GuiBuilder.create("My Settings")
            .panelSize(300, 200)
            
            .label("Welcome to My Mod!")
                .color(0xFFFFFF00)
                .add()
            
            .button("Click Me")
                .onPress(() -> System.out.println("Hello!"))
                .add()
            
            .slider("Volume")
                .value(0.7)
                .onChange(value -> setVolume(value))
                .add()
            
            .build();
    }
}

That's it! You just created a GUI with a label, button, and slider in under 20 lines of code!

📚 Code Examples

Example 1: Simple Settings Menu

Screen settingsGui = GuiBuilder.create("Game Settings")
    .panelSize(350, 250)
    
    .slider("Master Volume")
        .value(0.8)
        .fillColor(0xFF00FF00)
        .onChange(vol -> game.setVolume(vol))
        .add()
    
    .slider("Brightness")
        .value(0.5)
        .fillColor(0xFFFFAA00)
        .onChange(bright -> game.setBrightness(bright))
        .add()
    
    .button("Apply")
        .surface(Surface.DARK_PANEL)
        .onPress(() -> saveSettings())
        .add()
    
    .button("Cancel")
        .onPress(() -> closeScreen())
        .add()
    
    .build();

Example 2: Interactive Button with Cooldown

GuiBuilder.create("Combat Menu")
    .panelSize(300, 200)
    
    .button("Quick Attack")
        .cooldownSeconds(1.0)  // 1 second cooldown
        .onPress(() -> player.attack())
        .add()
    
    .button("Heavy Attack")
        .cooldownSeconds(3.0)  // 3 second cooldown
        .surface(Surface.flat(0xFF660000))
        .onPress(() -> player.heavyAttack())
        .add()
    
    .build();

Example 3: Text Input Form

GuiBuilder.create("Player Registration")
    .panelSize(350, 250)
    
    .label("Enter your name:").add()
    
    .textField()
        .placeholder("Name...")
        .textOnly()           // Only letters allowed
        .maxLength(20)
        .onChange(name -> playerName = name)
        .add()
    
    .label("Enter your age:").add()
    
    .textField()
        .placeholder("Age...")
        .numbersOnly()        // Only numbers allowed
        .maxLength(3)
        .onChange(age -> playerAge = age)
        .add()
    
    .button("Submit")
        .onPress(() -> registerPlayer())
        .add()
    
    .build();

Example 4: Custom Styled Menu

GuiBuilder.create("Styled Menu")
    .panelSize(400, 300)
    .panelSurface(Surface.flat(0xE0101010).and(Surface.outline(0xFF00AAFF)))
    
    .label("Super Cool Menu")
        .color(0xFF00FFFF)
        .scale(2.0f)
        .shadow(true)
        .add()
    
    .button("Neon Button")
        .size(250, 25)
        .surface(Surface.flat(0xFF003366).and(Surface.outline(0xFF00FF00)))
        .onPress(() -> doSomething())
        .add()
    
    .build();

🎨 Available Components

Component Description Use Case
Button Clickable button with cooldown support Actions, navigation
Slider Horizontal/vertical value selector Volume, brightness, settings
Label Text display with styling Titles, descriptions
TextField Text input with validation User input, search
ItemDisplay Show Minecraft items with tooltips Inventories, showcases
VolumeMeter VU-meter style indicator Audio levels, progress
ScrollContainer Auto-scrolling container Long content lists

🎯 Component Features

Buttons

  • Custom colors and surfaces
  • Click sounds
  • Cooldown system
  • Hover effects
  • Dynamic text updates

Sliders

  • Horizontal and vertical
  • Custom colors (track, fill, handle)
  • Value labels
  • Real-time callbacks
  • Smooth dragging

Text Fields

  • Placeholder text
  • Text-only or numbers-only validation
  • Max length limits
  • Custom colors
  • Border styling

Item Display

  • Show any Minecraft item
  • Automatic tooltips
  • Scalable size
  • Custom backgrounds
  • Dynamic updates

📦 Installation

For Mod Developers

  1. Download SuperGUILib-*.jar
  2. Add to your project's libs folder
  3. Update build.gradle:
dependencies {
    modImplementation files('libs/SuperGUILib-*.jar')
    include files('libs/SuperGUILib-*.jar')
}

Building from Source

./gradlew build

The compiled JAR will be in build/libs/

📖 Documentation

Full documentation available SGL-WIKI:

🎮 In-Game Commands

Test all features with these commands:

/sgl-v2 testgui              - Enhanced V2 menu (recommended!)
/sgl testgui                 - Original examples menu

🌈 Color Format

SuperGUILib uses ARGB (Alpha-Red-Green-Blue) format:

0xAARRGGBB
  ││││││└└─ Blue (00-FF)
  ││││└└─── Green (00-FF)
  ││└└───── Red (00-FF)
  └└─────── Alpha (00=transparent, FF=opaque)

Examples:

  • 0xFFFF0000 - Opaque red
  • 0x80FF0000 - Semi-transparent red
  • 0xFF00FF00 - Opaque green
  • 0x800033FF - Semi-transparent blue

Need help? Check the Wiki

Available Versions

SGLv2 1.0release
MC 1.21.11fabric
May 13, 2026
SGL (Super GUI Lib) 1.1release
MC 1.21.11fabric
April 6, 2026
SGL (Super GUI Lib) 1.0release
MC 1.21.11fabric
April 6, 2026

How to Install SGL (Super GUI Lib) on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.11).

3

Install Mod

Open the mod browser in the dashboard and search for "SGL (Super GUI Lib)". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.21.11

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

SGL (Super GUI Lib) server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.11). You can switch loaders with one click in the panel.

Is SGL (Super GUI Lib) compatible with fabric?

SGL (Super GUI Lib) officially supports fabric for Minecraft 1.21.11. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with SGL (Super GUI Lib) – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if SGL (Super GUI Lib) consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install SGL (Super GUI Lib) with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
LicenseRef-All-Rights-Reserved
Server-side
Unsupported

Supported Versions

1.21.11