Перейти к содержимому
Mineforgian

Backbone

Backbone is a hot-reloading scripting engine for server development. It allows you to easily script complex tasks by offering a library of utilities for managing databases and mob AI—providing everything you might need for your scripts.

Загрузки
91
Подписчики
4
Обновлён
9 апреля 2026 г.
Лицензия
Apache-2.0

Опубликован 10 февраля 2026 г.

logo.png

Backbone: Scripting Engine for Paper

CI GitHub release GitHub last commit GitHub license

Running a Minecraft server can be frustrating when every minor update, bug fix, or new feature requires you to kick all your players and restart the server.

Backbone is a powerful administrative tool designed to completely change how you manage your server. It allows you to add custom features, items, menus, and monsters on the fly—without ever shutting down or restarting your server. Whether you are a server owner trying to create a unique experience or an admin looking to fix things instantly, Backbone gives you the tools to keep your server online and your players happy.

Key Benefits

Backbone takes the heavy lifting out of server customization. Here is what it can do for your community:

Zero-Downtime Updates

The biggest advantage of Backbone is its "hot-reloading" engine. If you find a bug in a custom feature, or want to tweak how much damage a custom sword does, you can update the file and reload it instantly in-game. Your server stays online, and your players won't even notice a hiccup.

Custom Equipment

You no longer need to buy expensive premium plugins to get custom gear. Backbone allows for the creation of unique items with special abilities, custom names, and specific behaviors. You can easily generate and hand these out to players in-game.

Custom Entities

Want to create a custom guard zombie that stands still and looks at players, or a unique boss monster? Backbone lets you inject custom behaviors into Minecraft's default mobs, allowing you to create entirely new challenges for your players.

Interactive GUIs

Creating complex chest menus (like server selectors, shops, or stat pages) is usually a headache. Backbone simplifies this, allowing you to quickly build interactive menus that look great and respond to player clicks instantly.

Visual Effects

Backbone includes a system for generating custom visuals in the world, like glowing boxes around players or custom holograms, making your server stand out visually.

Persistent Player Data

Unlike older plugins where reloading might erase temporary data, Backbone is built to remember important things. If you have a live counter or specific player states running, Backbone safely stores that information even while you update and reload your features.

Getting Started

You do not need to be a professional developer to start benefiting from Backbone.

Requirements

  • A Minecraft Java Edition Server running version 1.21 or higher.
  • PlaceholderAPI (Optional, but recommended for text placeholders).

Installation

  1. Download: Grab the latest .jar file from the releases page.
  2. Install: Drag and drop the file into your server's plugins/ folder.
  3. Start: Turn on your server. Backbone will automatically create a scripts/ folder in your main server directory.
  4. Add Features: You can now drop Backbone script files (.bb.kts) into that folder to instantly add new features to your server!

Scripting Example

Backbone uses a modern Kotlin DSL. Below is a simple script showing how easily you can track data and handle events:

lifecycle {
    // This value 'survives' script reloads!
    var totalClicks by sustained(0)

    onLoad {
        println("Backbone feature initialized!")
    }

    // Listen to any Bukkit event instantly
    listener<PlayerInteractEvent> { event ->
        if (event.action.isLeftClick) {
            totalClicks++
            event.player.sendMessage("You've clicked $totalClicks times!")
        }
    }
}

Configuration

Backbone's main config is located at config/backbone/backbone.yaml. This file contains general settings for the plugin, such as enabling the update checker.

---
checkForUpdates: true # Enable or disable the update checker that notifies you of new versions of Backbone.
loggerCompatibilityMode: false # If true, Backbone will not use the new logging system and will instead log through the old Bukkit logger. This may be necessary for certain hosts that do not support the new logging system, but it is recommended to keep this disabled.

Admin Commands

Backbone is incredibly easy to manage from inside the game or your server console. Use the base command /backbone (or the shorter /bb alias) to access these tools:

Misc

  • /bb help <command>: Get help for a command.
  • /bb check-update: Check for updates.

Scripting

  • /bb scripting: See a list of all your custom features and check if they are currently running.
  • /bb scripting reload: Instantly apply any changes you made to your files without restarting the server.
  • /bb scripting enable <name>: Turn on a specific feature.
  • /bb scripting disable <name>: Turn off a specific feature.
  • /bb scripting wipe <name>: Completely reset the saved data for a specific feature.
  • /bb scripting probes: List all memory leak detection probes.
  • /bb scripting probes check-now: Run a memory leak check.
  • /bb scripting probes clear: Clear all probes.

Items

  • /bb item: View a list of all the custom items currently loaded on your server.
  • /bb item give <name>: Give yourself a specific custom item to test it out.
  • /bb item replicate: Instantly duplicate the custom item you are holding in your hand.
  • /bb item read: Scan the item you are holding to see its hidden background data.

Entities

  • /bb entity: View a list of all custom monsters or NPCs you have loaded.
  • /bb entity spawn <name>: Summon the custom mob directly at your current location.
  • /bb entity recreate-goals <radius>: Reload all custom goals for all custom entities in a given radius.

Integrations

PlaceholderAPI

If you use PlaceholderAPI on your server, Backbone automatically supports it! You can currently use the following tag in your scoreboards, chat formats, or menus:

  • %backbone_version%: Displays the version of Backbone your server is currently running.

(More placeholders are planned for future updates!)

Metrics

Backbone collects anonymous server metrics via bStats, an open-source statistics collection service for Minecraft servers. You may opt out with in /plugins/bStats/config.yml.

The metrics collected can be found here.

Ченджлог

1.8.1Релиз1.21.11 · 9 апреля 2026 г.

Automated release v1.8.1 Commit: 3a8a7b09e9e1137e3531f00117753b444eea3f59 - Merge pull request #16 from integr-dev/develop

Command & Permission Updates

  • Migrated to a more secure permission system that validates access before a command even runs.
  • Added a new /backbone checkupdate command to manually check for the latest plugin versions.
  • Simplified and improved the feedback for management commands like enable, disable, and wipe.

Diagnostics & Scripting

  • Overhauled the /bb scripting reload command to provide detailed error reports, making it easier to identify and fix script issues.
  • Enhanced the "probes" diagnostic tools with color-coded status icons and clear warnings if a memory leak is detected.
  • Improved visual clarity in all command outputs, using distinct icons to show at a glance if a script is active or disabled.

Documentation & Usability

  • Fully updated the README with a new Table of Contents for easier navigation.
  • Added comprehensive guides for all features, including PlaceholderAPI integration, the HTTP client, and custom entity goals.
  • Clarified configuration instructions to help administrators set up the plugin more efficiently. See the GitHub release for more details: https://github.com/integr-dev/backbone/releases/tag/v1.8.1
1.8.0Релиз1.21.11 · 7 апреля 2026 г.

Automated release v1.8.0 Commit: 9907085baa0eac02398f146af4f823c039100c81 - Merge pull request #15 from integr-dev/develop

Performance & Optimization

  • Parallelized the plugin startup and shutdown process, significantly reducing loading times.
  • Optimized the logging system to be more flexible and reduce impact on startup speed.
  • Introduced a dedicated server dispatcher to ensure background tasks interact safely with the main server thread.

Configuration & Management

  • Centralized all plugin settings into a new configuration system for easier management.
  • Added a new configuration option to toggle automatic update checks.
  • Simplified the "wipe" command by removing unnecessary confirmation steps for faster administration.

Diagnostics & Stability

  • Added a new "probes" command to help administrators detect and manage memory leaks caused by script hot-reloading.
  • Implemented an automated background checker to monitor and report potential performance leaks.
  • Improved the accuracy of startup and shutdown duration logging for better performance tracking.

Documentation

1.7.1Релиз1.21.11 · 31 марта 2026 г.

Automated release v1.7.1 Commit: 4b7fe0f0f175108a75e1a3c7aadc724901604c81 - Merge pull request #13 from integr-dev/develop

Performance & Stability

  • Optimized task scheduling for smoother server performance and tick synchronization.
  • Improved shutdown procedures to ensure all tasks and listeners are properly cleared, preventing memory leaks.
  • enhanced thread safety for script loading and command execution to prevent server crashes.

Placeholder & Scripting Systems

  • Refactored the placeholder API for better reliability and faster data retrieval in menus or chat.
  • Added support for dynamic placeholder registration within scripts.
  • Expanded script compilation to include dependencies from all loaded plugins, allowing for better cross-plugin integration.

Technical Improvements

1.7.0Релиз1.21.11 · 25 марта 2026 г.

Automated release v1.7.0 Commit: ce0c21872bd55fd48cee1dc35d20a8b376b3a4a0 - Merge pull request #12 from integr-dev/develop

This pull request introduces several new features and improvements to the Backbone scripting system, focusing on enhancing script lifecycle management, HTTP request handling, and JSON construction. It also refactors event handling for inter-script communication and simplifies command, item, and entity registration. The documentation (README.md) has been updated to reflect these changes and provide new usage examples.

Key changes include:

  1. HTTP Request Utilities and Documentation Added new utility functions (request, requestSync, and requestAndThen) for making HTTP requests from scripts, including both synchronous and asynchronous variants. These utilities are now documented in the README.md with usage examples.
  2. Script Lifecycle and Registration DSL Improvements Extracted the LifecycleBuilder and lifecycle DSL entrypoint into a dedicated file, improving modularity and clarity. Added new DSL functions: useCommand, useItem, and useEntity for simplified registration and unregistration of commands, items, and entities in script lifecycles. Updated the documentation to demonstrate the new registration DSL and improved lifecycle examples.
  3. Inter-Script Communication Refactor Renamed InterScriptDuckTypedEvent to IscEvent and moved it to a new package for clarity and consistency. Updated all usages accordingly. Renamed the DSL function from interScript to interScriptListener to better reflect its purpose and updated the documentation.
  4. JSON Builder Utility Introduced a new JsonBuilder utility and DSL for constructing JSON objects and arrays in scripts, along with helper functions jsonTree and json.
  5. Minor Documentation and Logging Updates Improved logging in lifecycle hooks for better debugging. Minor documentation and formatting updates in README.md, including placeholder section cleanup. These changes collectively make scripting with Backbone more powerful, modular, and user-friendly. See the GitHub release for more details: https://github.com/integr-dev/backbone/releases/tag/v1.7.0
1.6.1Релиз1.21.11 · 23 марта 2026 г.

Automated release v1.6.1 Commit: f92aa4f8c4aedfcac09a0c79ea80439838e36eaa - Merge pull request #11 from integr-dev/develop

HOTFIX: Removed broken legacy syntax See the GitHub release for more details: https://github.com/integr-dev/backbone/releases/tag/v1.6.1

1.6.0Релиз1.21.11 · 23 марта 2026 г.

Automated release v1.6.0 Commit: 83561848ff3a0576d0e5c8ac0e8e3d89e555b798 - Add Modrinth CI pipeline and new DSL declarative syntax for scripting

This pull request introduces significant improvements to the event system, modernizes the scripting documentation, and adds automation for publishing releases. The most important changes include a major refactor of the event handler infrastructure to support both member-backed and lambda event handlers, updates to the scripting DSL and documentation to promote the new lifecycle syntax, and the addition of a GitHub Actions workflow step to publish releases to Modrinth.

Event System Refactor and Enhancements:

Refactored the event handler system to introduce MemberBackedEventHandler and LambdaEventHandler, replacing the previous single EventHandler class. This allows direct registration of lambda handlers and improves handler management and cleanup. (src/main/kotlin/net/integr/backbone/systems/event/EventBus.kt) [1] [2] [3] [4] [5] Added registerLambda to EventBus for registering event handlers as lambdas, and ensured proper cleanup of lambda handlers on unregister. (src/main/kotlin/net/integr/backbone/systems/event/EventBus.kt) Exposed the global EVENT_BUS via the Backbone object for easier access. (src/main/kotlin/net/integr/backbone/Backbone.kt) Improved the Event class by adding setCallback and getCallback methods, and making operator overloads open for extension. (src/main/kotlin/net/integr/backbone/systems/event/Event.kt) Documentation and Scripting DSL Updates:

Updated the README.md to recommend the new lifecycle { ... } DSL for scripts, clarified the distinction between classic and modern scripting APIs, and provided updated examples for event listeners, commands, custom items, entities, and renderables. [1] [2] [3] [4] [5] [6] [7] [8] Documented inter-script communication features, showing how scripts can send and receive messages using the new DSL. Clarified usage of shared utility scripts and their restrictions. CI/CD Improvements:

Added a new step in the GitHub Actions workflow to automatically find the release -all.jar and publish it to Modrinth, including changelog and version metadata. (.github/workflows/ci.yaml) Other minor improvements include removal of unused imports and a minor addition to the placeholders section in the documentation. See the GitHub release for more details: https://github.com/integr-dev/backbone/releases/tag/v1.6.0

1.5.0Бета1.21.11 · 19 марта 2026 г.

Initial release. Added all the base functionality specified in the readme. For detailed release notes check out:

https://github.com/integr-dev/backbone/releases/tag/v1.5.0

Комментарии

Загружаем…