Links
Tags
Creators
Details
1.0.0
Compatibility
Required content
Changes
RoleSelector
A Minecraft server plugin for Paper/Spigot 1.21+ that allows players to select roles through a graphical user interface (GUI) when they first join the server.
Features
- Customizable GUI - Configure window title and buttons in config
- Unlimited roles - Add as many roles as you need
- Empty slots - Use empty entries to create spacing and layout control
- Auto-size - GUI automatically adjusts to the number of roles
- No escape - Players cannot close GUI without selecting a role
- LuckPerms integration - Automatic group assignment on selection
Default Configuration
gui-title: "Choose your role"
roles:
- id: ""
display-name: ""
material: ""
- id: ""
display-name: ""
material: ""
- id: ""
display-name: ""
material: ""
- id: "male"
display-name: "Boy"
material: "BLUE_WOOL"
- id: ""
display-name: ""
material: ""
- id: "female"
display-name: "Girl"
material: "PINK_WOOL"
Role Parameters
| Parameter | Description |
|---|---|
id |
LuckPerms group identifier |
display-name |
Name shown on the button in GUI |
material |
Block/item for the button |
Supported Materials
WOOL, CONCRETE, STAINED_GLASS, DIAMOND, GOLD_INGOT, IRON_INGOT, EMERALD, NETHER_STAR, etc.
Custom Messages
All player messages can be customized in messages.yml:
gui-title- Window titlerole-assigned- Message when role is assigned ({role} placeholder)already-has-role- Message when player already has a rolewelcome-message- Welcome message shown when GUI opens
Requirements
- LuckPerms - Required for group management
- Paper/Spigot 1.21+ - Server software
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:DVhXT963:O1u2rvSm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DVhXT963:O1u2rvSm"
}![RoleSelector [LuckPerms]](https://cdn.modrinth.com/data/DVhXT963/239ac309185583083271ee72f9ac944b0d7b0279_96.webp)

