How it works (in-game)
- Use /banana to open the Banana GUI.
- Click to increase progress (anti-spam click protection included).
- When progress reaches the threshold: give a weighted random ItemsAdder item
- If inventory is full: player is prompted to free space.
- Grants the matching Advancement for that item (with a root entry advancement)


Why players love it ?
Instant gameplay one command, one GUI, no learning curve.
Satisfying feedback progress bar + dynamic visuals while clicking.
Collection-driven each banana ties to an achievement—naturally pushes “complete the set”.
Fully controllable rates per-item weights are configurable.
Ready out of the box includes an embedded ItemsAdder content pack for the GUI/items.
--== Achievement Preview ==--

Supported versions:
- Server: Spigot / Paper 1.20+ (declared
api-version: 1.20)
Dependencies (required)
- ItemsAdder (custom items / GUI resources)
- PlaceholderAPI (placeholder parsing)
Note: plugin.yml lists them as softdepend, but the core gameplay relies on both. Missing dependencies will break items/GUI/placeholders.
Commands & permissions
Commands
- /banana: open the Banana GUI
- /banana reload: reload configs and language files
Permissions
- bananaio.use: allows
/banana (default: true) - bananaio.reload: allows
/banana reload (default: op)
Configuration files
On first run, BananaIO will create these files in its plugin folder:
confignana.yml (drop weights)
- Key: ItemsAdder item id (e.g.
banana_01) - Value: integer weight (higher = more common)
achievementnana.yml (achievement texts per banana)
category: advancement namespace/category (commonly Banana)title: title textdescription: description text (supports \n newlines)
rootadvnana.yml (root advancement / entry)
- Creates the entry icon in the advancements screen.
- Only one entry is supported (the plugin reads the first one).
titlenana.yml (GUI title & offsets)
title: GUI title textcicktipsimg / bananaimg: offset values for ItemsAdder font image alignment
coloursnana.yml (random color list)
colours: colors used for dynamic GUI effects
lang.yml + lang/*.yml (language)
lang.yml: set language: en/zhlang/en.yml, lang/zh.yml: messages (item received, inventory full, clicking too fast, reload messages, etc.)
Installation:
- Put the jar into
plugins/. - Install and enable ItemsAdder and PlaceholderAPI.
- Start the server. BananaIO will write config files, and will install the embedded ItemsAdder content pack only if
ItemsAdder/contents/banana is missing. - Follow the normal ItemsAdder workflow to make resources effective (run your usual IA resource update/reload steps).
Notes:
- Advancements cannot be reliably overwritten once loaded by Minecraft; reload mainly re-reads configs/language and tries to fill missing advancements.
- Anti-spam clicks are blocked to prevent abnormal spam.
Plugin support:
If you encounter any issues while using this plugin, please refrain from giving a low rating initially. Instead, try joining our channel and raise your issue there. I will promptly provide a solution for you