Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
📖 Story — Per-Player Storyline System
Story is a high-performance Paper plugin that assigns each player a unique, personalized storyline and automatically advances it in response to their in-game actions. Built for servers that go beyond simple quest plugins — Story is designed for narrative-driven Minecraft experiences.
🌟 Features
Linear Story Progression
Players must complete their currently assigned story before moving on to the next. Simply define previousStory and nextStory in each story file, and the plugin automatically chains the entire storyline — no complex scripting required.
Trigger System
Almost any player action can be used as a story trigger. Combine multiple triggers within a single story for rich, multi-objective progression.
| Trigger | Description |
|---|---|
BREAK_BLOCK |
Break a specific block |
CRAFT_ITEM |
Craft a specific item |
INTERACT_CHEST |
Interact with a chest |
KILL_MYTHIC_MOB |
Kill a specific MythicMobs entity |
TOWNY_* |
Town creation, nation join, territory expansion, etc. |
COMPLETE_QUEST |
Complete a quest via the Quests plugin |
Both vanilla blocks/items and ItemsAdder custom items (namespace:id) are fully supported.
Action System
When a trigger fires, one or more of the following actions execute:
- Send Message — Deliver a personal message or server-wide broadcast. Supports
&color codes and PlaceholderAPI placeholders. - Run Command — Execute any command as console (great for rewards, titles, teleportation, etc.)
- Advance Story — Increment objective counters; automatically transition the player to the next story when all objectives are met.
Admin Commands
| Command | Description |
|---|---|
/story reload |
Hot-reload all story files without restarting the server |
/story restart |
Safely save all data, then perform a full reload |
/story list |
View all loaded stories with their activation status |
/story next <player> |
Force-advance a player to their next story |
/story set <player> <storyId> |
Teleport a player to any specific story instantly |
🔌 Integrations
All integrations are soft dependencies — Story runs perfectly fine without any of them, and only activates features for plugins that are actually installed.
- ItemsAdder — Custom block & item triggers
- MythicMobs — Custom mob kill triggers
- Towny Advanced — Town & nation event triggers
- Quests — Quest completion triggers
- PlaceholderAPI — Expose story title, progress (%), and remaining objectives anywhere on your server
⚡ Performance
- In-memory processing — All repetitive data operations run in memory, minimizing disk I/O overhead
- Reflection caching — Expensive reflection calls are cached, keeping performance stable even under high player counts
- Safe auto-save — Player progress is automatically saved when the server stops or the plugin is disabled, preventing any data loss
📋 Requirements
| Minecraft | 1.21.4+ |
| Server Software | Paper (or compatible forks) |
| Java | 21+ |
📦 Installation
- Download the latest
.jarfrom the Releases page - Drop it into your server's
plugins/folder - Start the server — a default config will be generated under
plugins/Story/ - Define your stories and run
/story reloadto apply
Source Code: github.com/NOAHSOFTKR/story Built with Kotlin · Paper API · Java 21 · Minecraft 1.21.4


