PaperUI

⭐ — (4 endorsements) 📥 454 downloads 📌 v1.1.2 📅 9/4/2025
🟡 Updated this year

By FabiPunktExe · library

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 11/26/2025 📅 Created: 9/4/2025

🔍 Analysis

  • 🏆 #12 of 20 library mods in this game by downloads

📋 About This Mod

# PaperUI A Java/Kotlin library for creating user interfaces on Paper servers ## How to use Either: Add PaperUI as a plugin to your Paper server and add PaperUI to your dependencies in `plugin.yml` or `paper-plugin.yml`\ Or: Include PaperUI in your plugin ### Maven ```xml <repositories> <repository> <id>DiruptioPublic</id> <url>https://repo.diruptio.de/repository/maven-public</url> </repository> </repositories> ``` ```xml <dependencies> <dependency> <groupId>de.fabiexe</groupId> <artifactId>PaperUI</artifactId> <version>VERSION</version> </dependency> </dependencies> ``` ### Gradle ```kotlin repositories { maven("https://repo.diruptio.de/repository/maven-public") } ``` ```kotlin dependencies { compileOnly("de.fabiexe:PaperUI:VERSION") } ``` ## DialogUI A dialog user interface can have properties/inputs, buttons and action buttons. Example:\ <img src=".github/assets/OrderPizzaUI.png" alt="OrderPizzaUI"> ### Kotlin ```kotlin enum class PizzaType { MARGHERITA, FUNGHI, PROSCIUTTO } fun create(audience: Audience) = DialogUI(audience).apply { title("Order a Pizza") val type by enumProperty("Type", PizzaType::class.java) val extraCheese by booleanProperty("Add Extra Cheese") val radius by doubleProperty("Radius (cm)", 15.0, 20.0) val amount by integerProperty("Amount", 1, 10, 1) val address by stringProperty("Address") actionButton("Order") { var pizza = "$type with radius ${radius}cm" if (extraCheese.get()) { pizza += " with extra cheese" } val message = "We will deliver $amount $pizza to $address" audience.sendMessage(Component.text(message)) } actionButton("Cancel") } ``` ```kotlin fun doSomething() { create(player).open() } ``` ### Java (short) ```java public class OrderDrugsUI { public static DialogUI<Audience> create(@NotNull Audience audience) { DialogUI<Audience> ui = new DialogUI<>(audience); ui.title("Order drugs"); Property<DrugType> type = ui.enumProperty("Type", DrugType.class); Property<Double> dosis = ui.doubleProperty("Dosis (%)", 50, 120, 100); Property<Integer> amount = ui.integerProperty("Amount", 1, 10); Property<String> address = ui.stringProperty("Address"); ui.actionButton("Order", () -> { String drug = type.get() + " with dosis " + dosis.get() + "%"; String message = "We will deliver " + amount.get() + " " + drug + " to " + address.get(); audience.sendMessage(Component.text(message)); }); ui.actionButton("Cancel"); return ui; } private enum DrugType { CANNABIS, COCAINE, HEROIN, FENTANYL } } ``` ```java public void doSomething() { OrderDrugsUI.create(player).open(); } ``` ### Java (long) ```java public class OrderCoffeeUI extends DialogUI<Audience> { private final Property<CoffeeType> type; private final Property<Double> size; private final Property<Boolean> milk; private final Property<Integer> amount; private final Property<String> address; public OrderCoffeeUI(@NotNull Audience audience) { super(audience); title("Order a Coffee"); type = enumProperty("Type", CoffeeType.class); size = doubleProperty("Size (liters)", 0.25, 1, 0.33); milk = booleanProperty("Add milk"); amount = integerProperty("Amount", 1, 10); address = stringProperty("Address"); actionButton("Order", this::order); actionButton("Cancel"); } private void order() { String coffee = type.get() + " with size " + size.get() + "l"; if (milk.get()) { coffee += " with milk"; } String message = "We will deliver " + amount.get() + " " + coffee + " to " + address.get(); audience.sendMessage(Component.text(message)); } private enum CoffeeType { COFFEE, ESPRESSO, CHOCOLATE_COFFEE, DOUBLE_CHOCOLATE_COFFEE } } ``` ```java public void doSomething() { new OrderCoffeUI(player).open(); } ```

# PaperUI A Java/Kotlin library for creating user interfaces on Paper servers

## How to use Either: Add PaperUI as a plugin to your Paper server and add PaperUI to your dependencies in `plugin.yml` or `paper-plugin.yml`\ Or: Include PaperUI in your plugin

### Maven ```xml DiruptioPublic https://repo.diruptio.de/repository/maven-public ``` ```xml de.fabiexe PaperUI VERSION ```

### Gradle ```kotlin repositories { maven("https://repo.diruptio.de/repository/maven-public") } ``` ```kotlin dependencies { compileOnly("de.fabiexe:PaperUI:VERSION") } ```

## DialogUI A dialog user interface can have properties/inputs, buttons and action buttons. Example:\ OrderPizzaUI

### Kotlin ```kotlin enum class PizzaType { MARGHERITA, FUNGHI, PROSCIUTTO }

fun create(audience: Audience) = DialogUI(audience).apply { title("Order a Pizza") val type by enumProperty("Type", PizzaType::class.java) val extraCheese by booleanProperty("Add Extra Cheese") val radius by doubleProperty("Radius (cm)", 15. 0, 20. 0) val amount by integerProperty("Amount", 1, 10, 1) val address by stringProperty("Address")

actionButton("Order") { var pizza = "$type with radius ${radius}cm" if (extraCheese.get()) { pizza += " with extra cheese" } val message = "We will deliver $amount $pizza to $address" audience.sendMessage(Component.text(message)) } actionButton("Cancel") } ``` ```kotlin fun doSomething() { create(player).open() } ```

### Java (short) ```java public class OrderDrugsUI { public static DialogUI create(@NotNull Audience audience) { DialogUI ui = new DialogUI<>(audience);

ui.title("Order drugs");

Property type = ui.enumProperty("Type", DrugType.class); Property dosis = ui.doubleProperty("Dosis (%)", 50, 120, 100); Property amount = ui.integerProperty("Amount", 1, 10); Property address = ui.stringProperty("Address");

ui.actionButton("Order", () -> { String drug = type.get() + " with dosis " + dosis.get() + "%"; String message = "We will deliver " + amount.get() + " " + drug + " to " + address.get(); audience.sendMessage(Component.text(message)); }); ui.actionButton("Cancel");

return ui; }

private enum DrugType { CANNABIS, COCAINE, HEROIN, FENTANYL } } ``` ```java public void doSomething() { OrderDrugsUI.create(player).open(); } ```

### Java (long) ```java public class OrderCoffeeUI extends DialogUI { private final Property type; private final Property size; private final Property milk; private final Property amount; private final Property address;

public OrderCoffeeUI(@NotNull Audience audience) { super(audience);

title("Order a Coffee"); type = enumProperty("Type", CoffeeType.class); size = doubleProperty("Size (liters)", 0. 25, 1, 0. 33); milk = booleanProperty("Add milk"); amount = integerProperty("Amount", 1, 10); address = stringProperty("Address");

actionButton("Order", this::order); actionButton("Cancel"); }

private void order() { String coffee = type.get() + " with size " + size.get() + "l"; if (milk.get()) { coffee += " with milk"; } String message = "We will deliver " + amount.get() + " " + coffee + " to " + address.get(); audience.sendMessage(Component.text(message)); }

private enum CoffeeType { COFFEE, ESPRESSO, CHOCOLATE_COFFEE, DOUBLE_CHOCOLATE_COFFEE } } ``` ```java public void doSomething() { new OrderCoffeUI(player).open(); } ```

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Plugins
Author
FabiPunktExe
Version
1.1.2
Downloads
454
Endorsements
4
Category
library
Created
9/4/2025
Updated
11/26/2025
Game Versions
1.21.8, 1.21.9, 1.21.10, 1.21.11
Tags
library, technology, utility

🔧 How to Install Minecraft Plugins Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Plugins →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Plugins versions does PaperUI support?

The author lists 1.21.8, 1.21.9, 1.21.10, 1.21.11. Other versions may work but are untested by the author.

What is the latest version of PaperUI?

Version 1.1.2, published 2025-11-26 with 454 downloads recorded at the source.

Keep browsing — more Minecraft Plugins mods await

📋 All Minecraft Plugins Mods 🏆 Top 25 📂 More library 👤 More by FabiPunktExe 🔎 Similar Mods 🌐 Best library (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods