
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.