HomeJavaModsFolio
Folio

A modular, fluent, builder-based paginated inventory GUI framework for Paper 1.21+.
Pure Adventure API · Java 21 · zero dependencies beyond paper-api.

Features

[HR][/HR]

Quick start — a 28-slot shop

Code (Java):

List <InventoryItem > offers = catalog. stream ( )
       . map (o -> InventoryItem. builder ( )
               . material (o. material ( ) )
               . name ( Component. text (o. name ( ), NamedTextColor. YELLOW ) )
               . lore ( Component. text ( "Preis: " + o. price ( ) + "g", NamedTextColor. GRAY ) )
               . cooldown (Duration. ofMillis ( 500 ) )
               . clickableIf (p -> economy. balance (p ) >= o. price ( ) )
               . onLeftClick (ctx -> {
                   economy. charge (ctx. player ( ), o. price ( ) ) ;
                   ctx. player ( ). getInventory ( ). addItem (o. product ( ) ) ;
                    return ClickResult. refresh ( ) ;
                } )
               . build ( ) )
       . toList ( ) ;

InventoryPage page = InventoryPage. builder ( )
       . title ( Component. text ( "Shop", NamedTextColor. GOLD ) )
       . rows ( 6 )
       . layout (MaskLayout. of ( "" "
               BBBBBBBBB
               BXXXXXXXB
               BXXXXXXXB
               BXXXXXXXB
               BXXXXXXXB
               BBBBBBBBB
               "
"" ) )
       . navigation (NavigationButtons. builder ( )
               . firstSlot ( 45 ). previousSlot ( 47 ). pageIndicatorSlot ( 49 )
               . nextSlot ( 51 ). lastSlot ( 53 ). build ( ) )
       . items (offers )
       . build ( ) ;

registry. open (player, PagedInventory. paginate (page ) ) ;
 
[HR][/HR]

Built-in demo

The plugin ships with /foliodemo <sub> (alias /invpagedemo) — every feature live, no setup:


[HR][/HR]

Install

  1. Drop folio-1.0.0.jar into plugins/
  2. Restart the server
  3. Run /foliodemo shop in-game

To depend on Folio from your own plugin, add to your plugin.yml:
Code (Text):
depend: [Folio]
And get the registry:
Code (Java):

InventoryRegistry registry = ( (InventoryPagePlugin ) Bukkit. getPluginManager ( )
       . getPlugin ( "Folio" ) ). registry ( ) ;
 
[HR][/HR]

Requirements

Design defaults

License: MIT

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Folio is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 12 times (via Spigot). Download it and open it directly in the game.

Explore more