{"id":49438115,"url":"https://github.com/cobbleworks/rail-boost-plugin","last_synced_at":"2026-04-29T18:01:27.866Z","repository":{"id":354495978,"uuid":"1221743671","full_name":"Cobbleworks/Rail-Boost-Plugin","owner":"Cobbleworks","description":"Minecraft plugin that transforms vanilla minecart transportation into a configurable preset-driven system. Speed control, auto-pickup, particle effects, chunk loading, shared preset storage, and real-time speedometer. Supports Spigot, Paper, and Purpur.","archived":false,"fork":false,"pushed_at":"2026-04-28T20:40:16.000Z","size":30538,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-28T21:11:13.090Z","etag":null,"topics":["bukkit","java","minecart","minecraft","minecraft-plugin","minecraft-server","open-source","paper","purpur","railboost","server-plugin","spigot","spigot-plugin","transport"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cobbleworks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-26T16:16:36.000Z","updated_at":"2026-04-28T20:40:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Cobbleworks/Rail-Boost-Plugin","commit_stats":null,"previous_names":["cobbleworks/rail-boost-plugin"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Cobbleworks/Rail-Boost-Plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cobbleworks%2FRail-Boost-Plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cobbleworks%2FRail-Boost-Plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cobbleworks%2FRail-Boost-Plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cobbleworks%2FRail-Boost-Plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cobbleworks","download_url":"https://codeload.github.com/Cobbleworks/Rail-Boost-Plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cobbleworks%2FRail-Boost-Plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32437111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T17:34:55.123Z","status":"ssl_error","status_checked_at":"2026-04-29T17:34:45.749Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bukkit","java","minecart","minecraft","minecraft-plugin","minecraft-server","open-source","paper","purpur","railboost","server-plugin","spigot","spigot-plugin","transport"],"created_at":"2026-04-29T18:01:26.565Z","updated_at":"2026-04-29T18:01:27.856Z","avatar_url":"https://github.com/Cobbleworks.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/plugin-logo.png\" alt=\"Rail Boost Plugin\" width=\"180\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eRail Boost Plugin\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eA comprehensive minecart enhancement system for Minecraft servers.\u003c/b\u003e\u003cbr\u003e\n  \u003cb\u003eSpeed control, auto-pickup, built-in storage, preset system, and advanced physics.\u003c/b\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/Cobbleworks/Rail-Boost-Plugin?include_prereleases\u0026style=flat-square\u0026color=4CAF50\" alt=\"Latest Release\"\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blue?style=flat-square\" alt=\"License\"\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u003cimg src=\"https://img.shields.io/badge/Java-17+-orange?style=flat-square\" alt=\"Java Version\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg src=\"https://img.shields.io/badge/Minecraft-1.16+-green?style=flat-square\" alt=\"Minecraft Version\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg src=\"https://img.shields.io/badge/Platform-Spigot%2FPaper-yellow?style=flat-square\" alt=\"Platform\"\u003e\u0026nbsp;\u0026nbsp;\u003cimg src=\"https://img.shields.io/badge/Status-Active-brightgreen?style=flat-square\" alt=\"Status\"\u003e\u0026nbsp;\u0026nbsp;\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/Cobbleworks/Rail-Boost-Plugin?style=flat-square\u0026color=orange\" alt=\"Open Issues\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRail Boost is an open-source Minecraft plugin that transforms vanilla minecart transportation into a fully configurable, preset-driven system. Each minecart can be configured with six speed levels, automated item collection, optional particle and magnet effects, chunk loading behavior, and shared preset storage managed through named preset sticks. The plugin also adds rail safety checks and speed handling so minecarts travel more reliably across complex track networks.\n\n### **Core Features**\n\n- **Speed Control:** Six configurable speed levels (0.25x to 4.0x) with intelligent physics handling for curves, uphill sections, and speed transitions\n- **Auto-Pickup System:** Automatic item collection within a configurable radius (1-5 blocks) with per-cart blacklist filtering for precise control\n- **Preset-Linked Shared Storage:** Minecarts with presets use shared preset storage inventories (54 slots) that can be opened and managed via commands\n- **Preset System:** Create, save, and share named minecart configurations using sticks - apply saved presets to any cart via right-click\n- **Predefined Presets:** Three built-in standard presets for common use cases - Speed, Collector, and Magnet configurations\n- **Advanced Physics:** Enhanced curve navigation, uphill momentum preservation, multi-block position checking, and anti-stuck mechanisms for smooth travel\n- **Magnetism System:** Optional minecart-to-minecart attraction for forming train convoys with intelligent collision prevention\n- **Visual Effects:** Customizable particle trails with intensity scaling based on speed and multiple particle type options\n- **Real-Time Speedometer:** BossBar display showing current velocity in km/h with color-coded speed indicators\n- **Chunk Loading:** Automatic chunk force-loading with timed unloading to ensure smooth travel across unloaded areas\n- **F-Key Access:** Open storage and hopper inventories while seated in a minecart using the F key\n- **Persistent Configuration:** All per-cart settings and preset data are saved to YAML and persist across server restarts\n\n### **Supported Platforms**\n\n- **Server Software:** `Spigot`, `Paper`, `Purpur`, `CraftBukkit`\n- **Minecraft Versions:** `1.16` and higher\n- **Java Requirements:** `Java 17+`\n- **Dependencies:** None - fully self-contained, no external plugins required\n\n## **Table of Contents**\n\n1. [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Installation Steps](#installation-steps)\n    - [First Launch \u0026 Configuration](#first-launch--configuration)\n    - [Verifying Installation](#verifying-installation)\n2. [Configuration](#configuration)\n    - [Preset Edit Settings](#preset-edit-settings)\n    - [Data Storage](#data-storage)\n3. [How It Works](#how-it-works)\n4. [Commands](#commands)\n    - [Command Reference](#command-reference)\n5. [Permissions](#permissions)\n6. [Building from Source](#building-from-source)\n7. [License](#license)\n8. [Screenshots](#screenshots)\n\n## **Getting Started**\n\n### **Prerequisites**\n\nBefore installing Rail Boost, confirm the following requirements are met:\n\n- A Minecraft server running **Spigot**, **Paper**, **Purpur**, or any compatible fork\n- Server version **1.16 or higher** (`api-version: 1.16` is the minimum)\n- **Java 17** or newer installed on the machine running the server\n- Operator or console access to install plugin files\n\nNo additional plugins or libraries are needed. Rail Boost has zero external dependencies.\n\n### **Installation Steps**\n\n1. Download the latest `RailBoost-x.x.x.jar` from the [Releases](https://github.com/Cobbleworks/Rail-Boost-Plugin/releases) page\n2. **Stop your server completely** before placing any files\n3. Copy the `.jar` into your server's `plugins/` directory\n4. Start the server - Rail Boost generates its configuration folder automatically on first boot\n\n### **First Launch \u0026 Configuration**\n\nOn the first server start after installation, Rail Boost creates the following structure:\n\n```\nplugins/\n└── RailBoost/\n    └── presets.yml   - All preset definitions including three built-in defaults\n```\n\nThree default presets are created automatically: `speed`, `collector`, and `magnet`. Get a preset stick with `/railboost preset \u003cname\u003e` and right-click any minecart to apply settings. Edit presets at any time using `/railboost edit`.\n\n### **Verifying Installation**\n\n- Run `/plugins` in-game - `RailBoost` should appear green in the list\n- Run `/railboost list` to confirm the three default presets are loaded\n- Run `/railboost preset speed` to get a Speed preset stick, then right-click a minecart - ride it and the BossBar speedometer should appear\n- If the plugin fails to load, check the server console for `RailBoost` error messages (common causes: wrong Java version, corrupt JAR, or unsupported API version)\n\n## **Configuration**\n\n### **Preset Edit Settings**\n\nUse `/railboost edit \u003cpreset\u003e \u003csetting\u003e \u003cvalue\u003e` with these options:\n\n| Setting | Value | Description |\n|---------|-------|-------------|\n| `speed` | `1..6` | Speed level (1 = Slow, 6 = Ultra Fast) |\n| `autopickup` | `true/false` | Toggle item auto-pickup |\n| `radius` | `1..5` | Auto-pickup radius in blocks |\n| `speedometer` | `true/false` | Toggle BossBar speedometer display |\n| `chunkload` | `true/false` | Toggle temporary force-loading of traversed chunks |\n| `magnet` | `true/false` | Toggle minecart magnetism behavior |\n| `effects` | `true/false` | Toggle particle trail effects |\n| `effecttype` | Bukkit particle name | Set particle type (e.g. `FLAME`, `END_ROD`) |\n| `blacklist` | `add/remove \u003cmaterial\u003e` | Add or remove a material from the auto-pickup blacklist |\n| `storage` | *(none)* | Open shared storage GUI for this preset |\n\n### **Data Storage**\n\nRail Boost stores all preset definitions in `plugins/RailBoost/presets.yml`.\n\nEach preset entry contains:\n\n| Key | Type | Description |\n|-----|------|-------------|\n| `name` | string | Display name of the preset |\n| `speed` | int | Speed level 1..6 |\n| `autopickup` | boolean | Auto-pickup enabled flag |\n| `pickupRadius` | int | Pickup radius 1..5 |\n| `speedometer` | boolean | BossBar speed display flag |\n| `chunkload` | boolean | Chunk loading flag |\n| `magnet` | boolean | Magnet mode flag |\n| `effects` | boolean | Particle effects flag |\n| `effectType` | string | Bukkit particle type name |\n| `blacklist` | list | Material names blocked from auto-pickup |\n\nDefault presets created by the plugin:\n\n| Preset | Defaults |\n|--------|----------|\n| `speed` | `speed=4`, `speedometer=true` |\n| `collector` | `autopickup=true`, `pickupRadius=4`, `speed=2` |\n| `magnet` | `magnet=true`, `speed=3`, `effects=true` |\n\n## **How It Works**\n\nRail Boost runs on `VehicleMoveEvent`, which fires continuously as a minecart moves. On every move event, the plugin applies the cart's stored preset settings:\n\n- **Speed:** The cart's velocity is compared against the target speed level. If the track ahead is considered straight and safe, the velocity factor is applied. Speed levels map to multipliers: 0.4, 0.8, 1.2, 2.0, 3.0, 4.0. Enhanced curve navigation and uphill momentum logic run simultaneously to prevent carts from slowing down or getting stuck.\n- **Auto-Pickup:** Dropped items within the configured radius are collected and transferred to the cart's storage inventory, respecting the per-preset blacklist.\n- **Speedometer:** A BossBar updates with the current velocity expressed in km/h, color-coded by speed range.\n- **Chunk Loading:** Chunks ahead of the cart are temporarily force-loaded and released on a timer after the cart passes.\n- **Magnetism:** Nearby minecarts within range receive a velocity nudge toward the cart, forming a convoy with collision prevention logic.\n- **Effects:** Particles spawn behind the cart at an intensity proportional to current speed.\n\nMinecart settings are stored in entity persistent data under the plugin key `settings`. Preset sticks carry the preset name in item persistent data - right-clicking a cart reads the stick's preset, looks it up in `presets.yml`, and writes the settings into the cart's persistent data.\n\nStorage and hopper minecarts can be opened while riding using the F key (swap-hand event) for direct inventory access while in motion.\n\n## **Commands**\n\n### **Command Reference**\n\n| Command | Description |\n|---------|-------------|\n| `/railboost help` | Show command help |\n| `/railboost preset \u003cname\u003e` | Give yourself a preset stick for an existing preset |\n| `/railboost give \u003cplayer\u003e \u003cpreset\u003e` | Give another player a preset stick |\n| `/railboost create \u003cname\u003e` | Create a new preset with default settings |\n| `/railboost edit \u003cpreset\u003e \u003csetting\u003e \u003cvalue\u003e` | Edit one setting on a preset |\n| `/railboost edit \u003cpreset\u003e storage` | Open shared storage inventory for a preset |\n| `/railboost list` | List all available presets with summary settings |\n| `/railboost delete \u003cpreset\u003e` | Delete a preset |\n\n**Aliases:** `/rb`, `/boost`\n\n## **Permissions**\n\n| Permission | Description | Default |\n|------------|-------------|---------|\n| `railboost.use` | Allows use of RailBoost features | `true` |\n| `railboost.admin` | Administrative access to RailBoost | `op` |\n\n## **Building from Source**\n\nRail Boost uses **Apache Maven** as its build system. The plugin is packaged as a standard JAR with no external runtime dependencies.\n\n**Requirements:**\n- Java 17 or newer\n- Apache Maven 3.6 or newer\n\n**Steps:**\n\n```bash\n# Clone the repository\ngit clone https://github.com/Cobbleworks/Rail-Boost-Plugin.git\ncd Rail-Boost-Plugin\n\n# Compile and package\nmvn clean package\n```\n\nThe output JAR is written to `target/RailBoost-x.x.x.jar`. Copy it into your server's `plugins/` folder as described in the [Installation Steps](#installation-steps) section.\n\n**Project Structure:**\n\n```\nsrc/main/\n├── java/de/railboost/\n│   ├── RailBoostPlugin.java       - Plugin entry point (onEnable / onDisable)\n│   ├── CommandManager.java        - All /railboost subcommands + tab completion\n│   ├── MinecartController.java    - VehicleMoveEvent handling and speed/physics logic\n│   ├── MinecartSettings.java      - Per-cart settings model and persistent data read/write\n│   └── PresetManager.java         - Preset CRUD, YAML persistence, and shared storage\n└── resources/\n    ├── config.yml                 - Plugin configuration\n    └── plugin.yml                 - Plugin metadata, commands, permissions\n```\n\n## **License**\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n## **Screenshots**\n\nThe screenshots below demonstrate Rail Boost Plugin across several scenarios, including preset storage management, speed presets, particle effects, and the real-time speedometer.\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth\u003eRail Boost - Preset Storage\u003c/th\u003e\n    \u003cth\u003eRail Boost - Speed Preset\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-preset-storage.png\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-preset-storage.png\" alt=\"Rail Boost preset storage\" width=\"450\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-speed-preset.png\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-speed-preset.png\" alt=\"Speed preset on minecart\" width=\"450\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003cth\u003eRail Boost - Portal Particles\u003c/th\u003e\n    \u003cth\u003eRail Boost - Collector Preset\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-portal-particles.png\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-portal-particles.png\" alt=\"Portal particles on minecart\" width=\"450\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-collector-preset.png\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-collector-preset.png\" alt=\"Collector preset on minecart\" width=\"450\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003cth\u003eRail Boost - Speedometer\u003c/th\u003e\n    \u003cth\u003eRail Boost - Magnetic Carts\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-speedometer.png\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-speedometer.png\" alt=\"Speedometer on rail path\" width=\"450\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-magnetic-carts.png\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\u003cimg src=\"https://github.com/Cobbleworks/Rail-Boost-Plugin/raw/main/images/screenshot-magnetic-carts.png\" alt=\"Magnetic minecart feature\" width=\"450\"\u003e\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobbleworks%2Frail-boost-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcobbleworks%2Frail-boost-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobbleworks%2Frail-boost-plugin/lists"}