How triumphteam/triumph-gui works
triumph-gui is a Java library for creating and managing Minecraft inventory GUIs through Bukkit/Paper. A plugin developer configures a GUI or item builder, creates a GUI, and opens it for a player; GUI variants support pagination, scrolling, and persistent storage. The library also provides slot filling and item metadata/NBT utilities. The README is brief, and only selected source was sampled, so some runtime event wiring and feature-specific calls are not asserted here.
Main entry points: StorageBuilder.java Storage builder · ItemBuilder.java Item builders · StorageGui.java Storage GUI · BaseGui.java Base GUI
Components 22
GUI and Item API
- Library setup
core/src/main/java/dev/triumphteam/gui/TriumphGui.java - Chest builders
core/src/main/java/dev/triumphteam/gui/builder/gui/ChestGuiBuilder.java - Typed builders
core/src/main/java/dev/triumphteam/gui/builder/gui/TypedGuiBuilder.java - Pagination builder
core/src/main/java/dev/triumphteam/gui/builder/gui/PaginatedBuilder.java - Scrolling builder
core/src/main/java/dev/triumphteam/gui/builder/gui/ScrollingBuilder.java - Storage builder
core/src/main/java/dev/triumphteam/gui/builder/gui/StorageBuilder.java - Item builders
core/src/main/java/dev/triumphteam/gui/builder/item/ItemBuilder.java
GUI Runtime
- Inventory container
core/src/main/java/dev/triumphteam/gui/components/GuiContainer.java - Base GUI
core/src/main/java/dev/triumphteam/gui/guis/BaseGui.java - Paginated GUI
core/src/main/java/dev/triumphteam/gui/guis/PaginatedGui.java - Scrolling GUI
core/src/main/java/dev/triumphteam/gui/guis/ScrollingGui.java - Storage GUI
core/src/main/java/dev/triumphteam/gui/guis/StorageGui.java - GUI listener
core/src/main/java/dev/triumphteam/gui/guis/GuiListener.java - Slot filling
core/src/main/java/dev/triumphteam/gui/components/util/GuiFiller.java - GUI item
core/src/main/java/dev/triumphteam/gui/guis/GuiItem.java
Item Support
- Name and lore
core/src/main/java/dev/triumphteam/gui/builder/item/BukkitNameLoreHandler.java - Paper metadata
paper/src/main/java/dev/triumphteam/gui/builder/item/PaperNameLoreHandler.java - NBT utilities
core/src/main/java/dev/triumphteam/gui/components/nbt/NbtWrapper.java - Item NBT
core/src/main/java/dev/triumphteam/gui/components/util/ItemNbt.java
Other components
- Plugin developer
- Player
- Bukkit/Paper
Connections 17
- Plugin developer → Library setup: initializes
- Plugin developer → Chest builders: configures
- Plugin developer → Typed builders: configures
- Plugin developer → Pagination builder: configures
- Plugin developer → Scrolling builder: configures
- Plugin developer → Storage builder: configures
- Plugin developer → Item builders: builds items
- Storage builder → Inventory container: creates from
- Storage builder → Storage GUI: creates
- Player → Storage GUI: opens
- Storage GUI → Bukkit/Paper: opens inventory
- Bukkit/Paper → GUI listener: dispatches events
- Slot filling → Base GUI: sets slots
- Base GUI → GUI item: holds items
- Item builders → Name and lore: sets metadata
- Item builders → Paper metadata: sets metadata
- Item NBT → NBT utilities: uses wrapper