This update focusing on adding new features to the plugin.
- Auto Pilot (beta) - Auto pilot at this point can follow the owner wherever they go, when set to follow mode. The remaining features of auto pilot is under development and will be added in the release version 2.0.0.
- Packetevents and HikariCP dependencies has been updated to their latest version.
- Fixed Carts not found issue for the carts in chunks that are not loaded. Added a tiny chunk loader logic.
- New Auto Garage feature Carts now sent back to garage automatically when the owner left the server. Players with access to the cart are sent notification to choose whether or not to keep the cart in the world.
Notes :
- Delete your 'language folder' and 'config.yml'. Let the plugin generates a fresh one.
✨ New Features & Improvements
- Localization: Added Simplified Chinese translation support (Special thanks to SnowCutieOwO!).
- Advanced Upgrade Mechanics: The
amountfield for Cart, Garage, and Garage-Slot upgrades now supports a value of "0" with 'material' set to an item/block.- Note: This allows you to require a specific item in a player's inventory without consuming it during the upgrade.
- Custom Item Support: Materials for all upgrade categories now fully support Custom Model Data, allowing for deeper integration with custom resource packs.
- Refueling Overhaul:
- Introduced a sleek New Refueling Menu.
- Fuel cans can now be directly filled at fuel stations using glass bottles. The refill cost can be configured in the
config.yml. - Streamlined the process by removing the old fuel-can menu; you can now right-click a cart with a fuel can to refuel instantly.
- GeyserMC Compatibility: Updated the Bedrock example pack to align with the latest GeyserMC format versions.
🛠️ Bug Fixes & Logic Tweaks
- Bedrock Support: Fixed an issue where freshly placed Fuel Stations wouldn't display "fake blocks" for Bedrock players until a they interact with it or reconnect.
- GUI Fix: Fixed a bug where paint colors from the variants menu wouldn't load properly if the customization menu hadn't been opened first.
- Feedback & Messaging: The Repair Kit message now correctly displays the updated health value upon use.
- Exploit Fix: Blocked the vanilla crafting recipe that allowed Fuel Cans (Honey Bottles) to be turned into 3x Sugar.
Steps to Update the Plugin:
- Download the new plugin ".jar" file.
- Replace the existing file in your "/plugins/" folder with the newly downloaded file.
- Delete the "config.yml" file and the contents of the "/lang/" folder.
- Start the server to allow the plugin generate a new "config.yml" and fresh language files.
- Configure the "config.yml" as desired and restart the server.
FreeCarts
Version 1.6 - Major bug fixes related to maximum speed and upgrades, Better Bedrock compatibility, Action Bar Overhaul & Nitro Status Display
This update introduces full Bedrock (Geyser/Floodgate) compatibility improvements, a completely rearchitected action bar system, and a live nitro status display.
🎮 Player Summary (Non-Developer Audience)
- You will now visibly notice the speed differences between "un-upgraded", "max-upgraded", and "max-upgraded + nitro-engaged carts".
- Fuelstation's block display models now compatible with Custom worlds from Multiverse-Core and similar plugins.
- Bedrock players now see the fuel indicator correctly instead of a blank character.
- The action bar now shows fuel, health, and nitro status as separate indicators, each toggleable independently from the cart GUI menu.
- The nitro indicator shows exactly how many seconds of boost remain while active, a green tick when ready to use, and a countdown while cooling down — no more guessing when you can fire it again.
- You can now use decimal values for fuelConsumptionRate in the config
🛠 Update Changelog (For Developers/Admins)
🛠 Update Changelog (For Developers/Admins)
Fix - critical issues within the upgrade system and cart speed mechanics
- Fixed Engine & Nitro Upgrades Not Scaling Top Speed: Previously, cart movement was strictly hard-capped by the config's maxSpeed, meaning high-level Engine and Nitro upgrades were throttled and provided no noticeable top-speed benefits. The plugin now dynamically scales the internal maximum speed limits based on your cart's upgrade multiplier, allowing fully upgraded carts to reach their true potential.
- Fixed Vanilla Server Speed Throttling: Bypassed Spigot's internal minecart velocity limits (which default to 0.4 blocks/tick) for player-driven carts by calculating and applying a safe, dynamic maxSpeed ceiling to active vehicles. Unoccupied carts correctly retain the config's base maxSpeed limits to prevent runaway vehicles from breaking physics.
- Fixed Base Level (1) Upgrade Stat Bonuses: Fixed an oversight where newly placed, un-upgraded carts (Engine Level 1, Brake Level 1) were incorrectly receiving an immediate +15% speed and +25% brake bonus. Level 1 components now act as true baselines (1.0x multiplier), and upgrades properly scale starting at Level 2.
Fixed - critical issues within the FuelStation system and model mechanics.
- Fixed fuel station models not spawning in Multiverse custom worlds by injecting execute in
run into summon commands - Fixed getDimensionKey() helper to use World#getEnvironment() instead of folder name, supporting custom level-name in server.properties
- Fixed entity fallback lookup always searching the overworld by including world name in the location key (world,x,y,z)
- Fixed two Thread.sleep(50) calls blocking the main server thread on every station spawn
- Fixed fuel stations in Multiverse worlds silently lost on startup due to world load race condition, resolved via ServerLoadEvent retry system
More Bedrock (Geyser) Compatibility
- Fixed Fuel Level Icon in Action bar Displays Not Rendering on Bedrock: The ⛽ emoji is outside Bedrock's font atlas and rendered as a blank character. Bedrock players now receive ♨ as a fallback icon via a cached detection system.
- Added Bedrock Player Cache: Geyser/Floodgate detection is now performed once per player session on join and stored in a HashSet.
Better Backward Compatibility
- Fixed Fuel Station Version Gate Blocking Mechanics on Pre-1.19.4 Servers: Fuel station hitbox, collision, refueling, and explosion mechanics no longer require 1.19.4+. The version gate now only blocks Block Display entity models. Pre-1.19.4 servers render fuel stations using the same sendBlockChange() fake block system already used for Bedrock players.
Action Bar System Rearchitecture
- Extracted Action Bar Logic into Dedicated ActionBarHandler Class: Fuel and health display logic has been moved out of FuelHandler into a new ActionBarHandler, which owns the render task, Bedrock cache, per-stat toggle state, and stat registration pipeline.
- Added Expandable CartStat Interface: Each action bar segment (fuel, health, nitro, etc.) is now an independently registered stat implementing CartStat. Adding new stats in the future requires no changes to existing classes.
- Fixed Health Display Being Hidden by Fuel Toggle: Previously, the single hide_fuel_actionbar PDC key suppressed both fuel and health display together. Each stat now has its own independent PDC toggle key (hide_stat_fuel, hide_stat_health, etc.).
- Moved Stat Registration Out of Main Class: FuelStat, HealthStat, and NitroStat are defined as named inner classes inside ActionBarHandler, keeping the code clean.
Action Bar Settings Menu
- Replaced Single Toggle Button with Dedicated Submenu: The action bar toggle in the cart GUI is now a submenu.
- Each Stat Has Its Own Toggle Button: Buttons display as green concrete (enabled) or red concrete (disabled).
New Nitro Status Display
- Added Live Nitro Action Bar Stat: The nitro segment displays remaining active time in seconds while burning, a green tick when ready to engage, and a red remaining cooldown seconds while cooling down.
- Added nitroActiveEnd Tracking: CartUpgradeHandler now tracks the nitro active end timestamp alongside the existing cooldown end timestamp, enabling accurate remaining-time calculations.
Fuel consumption enchancements
- Changed fuelConsumptionRate from int to double to support decimal values like 0.2, 0.5
- Added a fractional accumulator map inside the fuel consumption runnable so decimal rates drain correctly without precision loss.
Steps to Update the Plugin:
- Download the new plugin ".jar" file.
- Replace the existing file in your "/plugins/" folder with the newly downloaded file.
- [MUST] Delete the "config.yml" file and the contents of the "/lang/" folder.
- Start the server to allow the plugin generate a new "config.yml" and fresh language files.
- Configure the "config.yml" as desired and restart the server.
FreeCarts v1.5 - Bedrock / GeyserMC Support
Update Changelog:
- This update focuses on cross-platform compatibility between Java and Bedrock (Geyser/Floodgate) clients.
- The Fuel Can item has been changed from a Player Head with a custom texture to a Honey Bottle. Existing fuel cans will continue to work, but new ones will be issued as Honey Bottles going forward.
- Added two configurable visual blocks for fuel stations in config.yml, since Bedrock does not support Block Display entities. (Note: Fuel stations use Bukkit's sendBlockChange() to send per-player fake block packets, which Geyser automatically translates into Bedrock's UpdateBlockPacket. These fake blocks are fully configurable in config.yml. Java players are completely unaffected and will continue to see the fuel station's Block Display model as usual.)
- Added an example resource pack for GeyserMC.
- Fuel Cans can now be consumed by players. When consumed, the following effects are applied: Poison II for 10 seconds, Nausea for 15 seconds, and Weakness II for 20 seconds.
- Dismount key has been assigned to the SPACE BAR for Bedrock players.
- Nitro Engage key has been assigned to Left Click (Attack) for Bedrock players.
- Key binds remain unchanged for Java players.
- From version 1.5 onwards, the plugin no longer bundles example resource packs with the JAR file. They are instead provided as separate download links on the plugin page.
Steps to Update the Plugin:
- Download the plugin ".jar" file.
- Replace the existing file in your "/plugins/" folder with the downloaded file.
- Delete the "config.yml" file and the contents of the "/lang/" folder.
- Start the server to let the plugin generate a new "config.yml" and language files.
- Configure "config.yml" as desired and restart the server.
Setting Up GeyserMC:
- FreeCarts automatically detects Floodgate and GeyserMC on your server.
- Works out of the box with Geyser installed as a Spigot plugin.
- For Velocity/BungeeCord networks, Floodgate must be installed on each backend Spigot server in addition to Geyser on the proxy.
- To use the example GeyserMC resource pack provided, extract the downloaded archive — it contains two files :
- Place "geyser_mappings.json" inside "\plugins\Geyser-Spigot\custom_mappings"
- Place "Freecarts_GeyserPack.mcpack" inside "\plugins\Geyser-Spigot\packs"
- Restart the server after placing both files.
🔧 FreeCarts v1.4 - Multi-Language Garage Fix
🐛 Bug Fixes
Fixed garage menu handling for multi-language support: Resolved an issue where the garage inventory click handler wasn't properly detecting garage menus when using non-English languages. The plugin now correctly identifies garage menus regardless of the selected language (English, German, Tamil, etc.).
🌍 Affected Languages
This fix improves functionality for all supported languages: English (en_us) German (de_de) Tamil (ta_in)
📝 Technical Details
- Improved garage menu detection logic to use menu type tracking instead of title matching
- Enhanced reliability when interacting with garage inventories across different languages
- No configuration changes required - the fix is automatic
📥 Installation
Simply replace your existing FreeCarts jar file with this version and restart your server. All existing data and configurations will be preserved.
-
Support added for **1.21.11** -
Minor bug fixes related to cart damage and health system
-
FreeCarts v1.2 - Cart Customizations Update Major Features:
Paint & Variant System (Requires Resource pack) Players can now purchase and customize cart color variants with an in-game economy system!
- Purchase paint colors using in-game currency through
/freecart variant - Real-time color switching with the interactive paint picker tool
- Economy integration via Vault - set custom prices for each color
- Admin bypass - admins get all colors unlocked automatically
- SQL & YAML support - works with both local and network-wide storage
Custom Cart Models with Resource Pack Bring your carts to life with fully customizable 3D models!
- Example resource pack included - ready to use out of the box
- Create your own models - full support for custom Blockbench creations
- Multiple model variants - support for different cart styles and colors
- Seamless model switching - change models on-the-fly
- Persistent model data - models save to cart items when picked up
Cart Lore Customization Add personality to your carts with custom item descriptions!
- Multi-line lore support - create detailed cart descriptions
- Garage Level 3 feature - unlocked through garage upgrades
- Full color code support - use
&codes for styling
Improvements & Changes:
Command Updates
- ✨ New:
/freecart variant- Purchase paint colors - ✨ New:
/freecart customize paint- Open paint picker interface - Updated:
/freecart give cartnow supports--model <model_id>argument - Reorganized: Cart naming moved to
/freecart customize name - Full command:
/freecart customize <color|lore|name|paint>
Garage System Enhancements
- Visual improvements to slot differentiation:
- Red glass = Locked slots (can be unlocked with resources)
- Black glass = Restricted slots (require permissions/ranks!)
- Garage Upgrades button - quick access to upgrade menu
- Garage Finder button - browse other players' garages
- Better UI feedback for slot states and requirements
Resource Pack Integration
- Example resource pack zipped with plugin JAR
- 2 default cart models with multiple color variants:
- Simple style (6 colors)
- Hatchback style (6 colors)
- Full documentation for creating custom models
- Easy configuration through
models.yml
New Files & Configuration
Paint System Configuration plugins/FreeCarts/models/carts/ ├── paint_colors.yml # Define colors, costs, and materials ├── player-owned-paints.yml # YAML storage (if database disabled) └── models.yml # Cart model definitions
Config Changes: [code=YAML] garage: enabled: false # Enable/disable garage system
upgrades: enabled: true # Enable garage upgrade system # Upgrade requirements are configured in 'garage/garage-upgrades.yml' finder: enabled: true # Enable garage finder menu show-offline: true # Show offline players in finder[/code]Database Tables (if SQL enabled)
fc_owned_paints- Stores player paint ownership across network
- Purchase paint colors using in-game currency through
🌐 New Features
- German Language Support: Vollständige deutsche Übersetzung hinzugefügt
- New Garage feature: you can now either pick the cart as item or send it to garage! Check the config
- Cross-Server Garage Sync: Real-time synchronization of garage contents across network servers
- SQL Storage Support: Optional MySQL/MariaDB backend for garage data (with automatic YAML ↔ SQL migration)
- HikariCP Connection Pooling: Optimized database performance and reliability
- Per-Server Inventory System: With SQL and Garage enabled, carts can now have Separate storage inventories for each server in BungeeCord/Velocity networks
🐛 Bug Fixes
- Improved cart spawn location safety checks
- Other Language Translations were missing for GUIs and lores
🔧 Technical Improvements
- Added Storage button in Cart's Main GUI menu
- Added Permission based Garage Max slots.
- Enhanced database security with validated table prefixes
- Added connection pooling for better SQL performance
- Optimized garage synchronization with configurable polling intervals
- Better error handling for cross-server operations
⚠️ Important Notes
- Config files updated - Delete old config.yml and let plugin regenerate
- Language files updated - Delete old language files in /lang/ folder
- Fully backward compatible with existing cart data
FreeCarts - Advanced Minecart System
Transform your server's transportation with FreeCarts! A feature-rich minecart plugin that adds WASD controls, fuel systems, cart upgrades, ownership management, and much more.
✨ Features
WASD Controls
- Drive minecarts using W/A/S/D keys instead of rails
- Smooth acceleration and deceleration with friction physics
- Configurable speeds for forward, reverse, and strafing
⛽ Fuel System
- Fuel consumption while driving (configurable rate)
- Fuel Stations – Place refueling stations anywhere
- Fuel Cans – Portable refueling items with GUI menu
- Fuel Delivery – Order fuel cans delivered by ghast
- Low fuel warnings with action bar display
- Configurable fuel costs and capacities
Cart Upgrades
- Engine (4 levels) – Increase speed
- Brakes (4 levels) – Better stopping power
- Nitro (4 levels) – Temporary speed boost (press Space)
- Storage (4 levels) – 9/18/27/36 slot inventory
- Upgrade dependency tree – unlock advanced upgrades progressively
- Material + Economy cost system
Health System
- Carts take damage from:
Player attacks (swords, axes only), Mob attacks, Arrows, Explosions, Fall damage - Speed reduction when damaged
- Repair Kits – Restore cart health to 100%
- Fuel station explosions on collision at high speed
Ownership & Access Control
- Carts belong to the player who places them
- Grant access to specific players
- Transfer ownership
- Admin override permissions
- Configurable max carts per player
- Cart naming system
Customization
- Custom display blocks for carts
- Interactive map-based color picker for cart names
- Persistent customization data
Fuel Station Models
- Import custom 3D models from BDEngine
- Default models included (gas pumps)
- Configurable hitbox sizes
- Model respawn system after explosion
Economy Integration
- Full Vault support
- Configurable costs for:
Fuel refills, Fuel cans, Repair kits, Deliveries, Cart upgrades - Admin bypass permissions
Multi-Language Support
- Built-in language system
- English and Tamil included (contact me to add your language)
Dependencies
Required
- PacketEvents – For WASD controls
- Vault – For economy features
Installation
- Download and install PacketEvents from SpigotMC
- Download FreeCarts
- Place both JARs in your
/pluginsfolder - (Optional) Install Vault + any economy plugin for costs
- Restart server
- Configure
plugins/FreeCarts/config.yml - Use
/freecart reloadafter changes
💬 Support
Found a bug? Have a suggestion?
- Discord: Mavenverse

