story

story

Per-player storyline system with triggers, actions, and seamless plugin integrations for narrative-driven Paper servers.

13 downloads

๐Ÿ“– 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

  1. Download the latest .jar from the Releases page
  2. Drop it into your server's plugins/ folder
  3. Start the server โ€” a default config will be generated under plugins/Story/
  4. Define your stories and run /story reload to apply

Source Code: github.com/NOAHSOFTKR/story Built with Kotlin ยท Paper API ยท Java 21 ยท Minecraft 1.21.4

No gallery available for this project.