Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Tutorial How to Use SignGUI with Folia Support in Minecraft Plugins (1.8–1.21)

Hands-on tutorial explaining how to implement a feature or solution.
2026, 05_07_33 AM.webp

How to Use SignGUI with Folia Support in Minecraft Plugins (1.8–1.21)​

Introduction​


If you are developing Minecraft plugins and need text input from players, one of the most common solutions is SignGUI. It allows players to enter text through a sign editor interface, which feels native inside Minecraft.

However, the original repository does not support Folia yet.

Original SignGUI Repository

Because of this, a fork was created that adds Folia compatibility and modernization while keeping support for Minecraft versions 1.8 up to 1.21.

Folia Supported Fork Repository

This tutorial explains how to integrate SignGUI with Folia support into your Minecraft plugin.

Features​


  • Get text input from players using a sign interface
  • Supports Minecraft versions 1.8 – 1.21
  • Adventure text support
  • Works with Mojang mapped Paper plugins (1.20.5+)
  • Folia server compatibility

Adding the Dependency​


Maven Repository

Code:
repositories {
    maven("https://repo.kodari.ai/releases")
}

Gradle (Kotlin DSL)

Code:
dependencies {
    implementation("de.rapha149.signgui:SignGUI:2.5.6")
}

Gradle (Groovy)

Code:
dependencies {
    implementation "de.rapha149.signgui:SignGUI:2.5.6"
}

Important: Relocate the Package​


To avoid conflicts with other plugins using the same API, you should relocate the package using Shadow.

Code:
tasks.shadowJar {
    relocate("de.rapha149.signgui", "your.plugin.package.signgui")
}

Example Usage​


Below is a simple example showing how to open a sign editor and read the player's input.

Java:
try {
    SignGUI gui = SignGUI.builder()
        .setLines("§6Enter Text", null, null, null)
        .setHandler((player, result) -> {

            String input = result.getLineWithoutColor(0);

            if (input.isEmpty()) {
                return List.of(
                    SignGUIAction.displayNewLines("§cPlease enter text!", null, null, null)
                );
            }

            player.sendMessage("You typed: " + input);
            return Collections.emptyList();
        })
        .build();

    gui.open(player);

} catch (SignGUIVersionException e) {
    e.printStackTrace();
}

This will open a sign editor GUI where players can type text.

Important Notes​


Players can edit pre-written lines

If you prefill text on the sign, players can still edit or delete it.

Recommended approach:

  • Leave the first line empty
  • Use other lines for instructions

Example layout:

Code:
Line1: (empty)
Line2: Enter your name
Line3:
Line4:

Sign Location

The sign is not actually placed in the world. It is only sent to the player as a packet.

  • Other players cannot see it
  • It only exists client-side

By default the sign appears about 3 blocks behind the player.

Opening Sign GUI After Player Join

Opening the sign immediately after PlayerJoinEvent can cause issues because chunks may still be loading.

Recommended delay:

Code:
3 – 5 seconds after player joins

Why This Fork Matters​


The original repository lacks Folia compatibility, which is required for modern high-performance Minecraft servers.

This fork provides:

  • Folia support
  • Updated project structure
  • Compatibility with modern Minecraft versions

Repository link:

https://github.com/Kodari-Repository/SignGUI-Folia

Conclusion​


SignGUI is one of the best APIs for getting player text input inside Minecraft plugins.

With the Folia-compatible fork, developers can safely use the API on modern servers while maintaining compatibility with older Minecraft versions.

If you found this tutorial helpful, feel free to share your experience or improvements below.
 
Back
Top