A Minecraft mod and server plugin for recording, visualizing, and sharing player raw movement paths. The whole idea is to give players something more than just coordinates or waypoints to save or share with each other. This Allows players to literally record raw path trail that they are walking, and then save, view, and share those paths with other players on the server. A much more practical solution when reaching to a checkpoint in a complex cave system, or navigating to a base through a dense forest.
The system consists of:
- A Bukkit/Paper/Purpur/Spigot plugin that can work independently in the server or along with the Fabric mod to add enhanced features and logic.
- A Fabric mod that too can work independently or alongside the server plugin to provide a richer client-server experience.
- A shared API module for common data structures. It is a dependency for both the server plugin and the client mod. Plays key role in the Client + Server Scenario.
- Path Recording: Record your paths as you walk in real-time.
- Path Visualization: View paths with client-side rendering beautiful trails or server-side basic particles for vanilla clients.
- Path Management: Save, load, rename, and color-code your paths.
- Sharing: Share your paths with other players on the server. Only possible when server side plugin is installed.
- Client & Server Fallback: Works for players with or without the client mod installed. Works for players on servers with or without the server plugin installed. Works best when both are installed.
- Modrinth: [Link]
- Curseforge: [Link]
- Java 21 or newer
- Minecraft: Java Edition version Compatible Version
- Either:
-
(For Server) PaperMC or a compatible fork -
(For Client) Fabric Loader -
(For Client + Server) Both of the above - Fabric API (if using the Fabric mod)
- API: The
trailblazer-apimodule is a dependency and does not need to be installed separately. - Server Plugin:
- Download the latest
trailblazer-plugin-*.jarfrom the releases page of the Curseforge or Modrinth. - Place it in your server's
plugins/directory. - Restart the server.
- Download the latest
- Client Mod:
- Download the latest
trailblazer-fabric-*.jarfrom the releases page of the Curseforge or Modrinth. - Place it in your Minecraft's
mods/directory. - Ensure you have Fabric API installed.
- Start Minecraft with the Fabric Loader profile.
- Download the latest
When the Player has fabric client mod installed and the server has the plugin installed.
- ✅ All Basic Functionalities like Recording, Saving, Loading, Viewing, Changing Color, Renaming, Deleting, Listing Paths.
- ✅ Sharing Paths with other players on the server.
- ✅ Extensive Path management UI.
- ✅ Commands for all functionalities.
- Enhanced Features like:
- ✅ Beautiful path rendering.
- ✅ Keybinds for quick actions.
- ✅ Live Path rendering when recording.
- ✅ And more...
When the Player has fabric client mod installed but the server does not have the plugin installed.
- ✅ All Basic Functionalities like Recording, Saving, Loading, Viewing, Changing Color, Renaming, Deleting, Listing Paths.
- ❌ Sharing Paths with other players on the server.
- ✅ Extensive Path management UI.
- ✅ Commands for all functionalities.
- Enhanced Features like:
- ✅ Beautiful path rendering.
- ✅ Keybinds for quick actions.
- ✅ Live Path rendering when recording.
- ❌ And more...
When the Player does not have fabric client mod installed but the server has the plugin installed.
- ✅ All Basic Functionalities like Recording, Saving, Loading, Viewing, Changing Color, Renaming, Deleting, Listing Paths.
- ✅ Sharing Paths with other players on the server.
- ❌ Extensive Path management UI.
- ✅ Commands for all functionalities.
- Enhanced Features like:
- ❌ Beautiful path rendering.
- ❌ Keybinds for quick actions.
- ❌ Live Path rendering when recording.
- ❌ And more...
Trailblazer exposes a single root command /trailblazer with many subcommands. The client mod provides richer, interactive commands and keybinds; the server plugin supplies a fallback for unmodded clients. Use quotes around path names that contain spaces.
- Press
Mto open the Trailblazer UI menu. - The Trailblazer UI provides an intuitive interface for managing paths, with options to create, edit, and delete paths easily.
- R Key: Toggle recording.
- G Key: Cycle render mode.
- M Key: Open the Trailblazer UI menu.
These commands are available when the Fabric mod is installed. They use client-side rendering. Important: When connected to a server with the Trailblazer plugin installed, recording automatically uses server-side recording (paths are stored on the server and can be shared). In client-only mode or on servers without the plugin, recording uses local client-side storage.
/trailblazer help— Show client-side help./trailblazer record— Toggle recording (shortcut)./trailblazer record start— Start a new recording./trailblazer record stop— Stop and save the current recording./trailblazer record cancel— Cancel and discard the current recording./trailblazer record status— Show current recording status./trailblazer list— List your local and shared paths./trailblazer view <name>— Show a path using client renderer./trailblazer hide [name]— Hide one path, or omit the name to hide all visible paths./trailblazer info <name>— Show start/end coordinates for a path./trailblazer rename <oldName> <newName>— Rename a local path (syncs to server if server-owned)./trailblazer delete <name>— Delete locally or request server deletion for server-owned paths./trailblazer color <name> <color>— Change color (local update; syncs to server if server-owned)./trailblazer share <name> <player1,player2,...>— Send share request to server./trailblazer rendermode <trail|markers|arrows|solid>— Change client render mode./tbl— Alias for/trailblazer.
These commands are available when the server plugin is installed and are designed for players without the client mod. They use server-side rendering with particles and server-side persistence. Note: Players with the client mod installed will be redirected to use client commands for most operations (view, hide, info, delete, rename, rendermode, spacing) but can still use server commands for record, list, share, and color operations.
/trailblazer help— Show server-side help./trailblazer record start [name]— Start server-side recording. Optional name parameter allows you to name the path during recording start./trailblazer record stop— Stop and save the current recording./trailblazer record cancel— Cancel and discard the current recording./trailblazer record status— Show current recording status./trailblazer list— List your saved paths./trailblazer view <name>— Show a path using server particle rendering./trailblazer hide— Hide the current path./trailblazer info <name>— Show start/end coordinates for a path./trailblazer rename <oldName> <newName>— Rename a path you own./trailblazer delete <name>— Delete a path you own./trailblazer color <name> <color>— Change the color of a path./trailblazer spacing <blocks>— Set marker spacing for server rendering (e.g.,3.0)./trailblazer share <name> <player1,player2,...>— Share a path with other players./trailblazer rendermode <trail|arrows>— Change server render mode./tbl— Alias for/trailblazer.
Notes:
- Use
/trailblazer helpin-game for the full, contextual list and tab-completion suggestions. - Recording behavior: When the client mod is connected to a server with the plugin, all recording commands automatically use server-side recording. Paths are stored on the server and can be shared with other players. In singleplayer or on servers without the plugin, recording uses local client-side storage.
- Server command behavior with modded clients: Players with the client mod will be redirected to use client commands for viewing, hiding, and managing paths (the server will show a message directing them to use client commands). However, server commands for recording, listing, sharing, and coloring still work for modded clients.
- Client commands sync with the server when managing server-owned paths (paths created on the server).
This project uses a multi-module Gradle setup.
- Clone the repository:
git clone https://github.com/bharatvansh/Path-Sharing
- Navigate to the project directory:
cd Trailblazer - Build the project using the Gradle wrapper:
./gradlew build
- The compiled JARs will be located in the
build/libsdirectory of each submodule (trailblazer-pluginandtrailblazer-fabric).
Any contributions you make will be greatly appreciated 🛐🛐
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.