How it works
Try this product in game with a hosted Minecraft server!- Click 'Request test server'
- Join the provided IP address
- Try out the product for up to 30 minutes
- Stop the server when you're done
Requesting a test server will duplicate the original files and provide you a new server for you to join and experiment with for up to 30 minutes. Any changes you make will not be served so feel free to play around!
There are no limits to the number of servers you may start, but you can only have one test server active at a time. You must stop any active test servers in order to start up a new one.
Features
- Completely free
- Instant setup
- Full operator permissions
- Invite friends
- No usage limits
Testing servers provided by PebbleHost.
Visit PebbleHost.com
Visit PebbleHost.com
Requires Java 21+
What is EzFastbridger?
EzFastbridger is a highly optimized, high-performance fastbridging practice plugin designed to give players the ultimate bridging practice experience. Whether they are training for BedWars, SkyWars, or casual bridging challenges, this plugin provides an automated, lag-free, and custom-tailored bridging playground.The gameplay is extremely smooth, fully interactive, and feature-rich, making it the perfect addition to practice hubs, minigame lobby servers, and dedicated fastbridging setups.
How EzFastbridger Works
Players enter their custom dedicated bridging slot arena in the world. When they start bridging, a high-resolution live timer tracks their performance while blocks placed are managed automatically. Players aim to:- Bridge to the end platform as quickly as possible
- Beat their own personal best time
- Earn Emeralds dynamically based on completion and speed
- Unlock new blocks in the cosmetics shop
Reach the pressure plate on the finish line in the fastest time possible without falling.
If a player falls below the configured void reset height, they are instantly teleported back to the starting block with zero lag to try again.Main Features
Cosmetic Block Shop GUI
Complete bridging runs to earn Emeralds, then spend them to unlock different wool colors, oak planks, or masonry brick block styles! Fully customizable in the shop configs. Players can open the cosmetics menu by right-clicking their hotbar shop item or typing/blocks.Dynamic Speed & Distance Rewards
Server owners can define base completion rewards, PB bonuses, and permission-based multipliers (boosters for VIP/MVP ranks). In addition, speed-based rewards scale dynamically based on the configured bridge distance!Customizable Arenas & Multi-Slot Spacing
You can configure every element of the practice arenas, including platform dimensions (width/length), materials, boundary margins, pressure plate sizing, distance to target (e.g. 32 or 50 blocks), and horizontal spacing between slot arenas in the world.PlaceholderAPI Support
EzFastbridger supports PlaceholderAPI integration, allowing you to display player times, statistics, and leaderboard standings on scoreboards, tablists, holograms, and other plugins.%fastbridger_besttime%
%fastbridger_blocks%
%fastbridger_timer%
%fastbridger_emeralds%
%fastbridger_selected_block%
%fastbridger_selected_particle%
%fastbridger_session_leaderboard_(pos)_name%
%fastbridger_session_leaderboard_(pos)_time%
%fastbridger_global_leaderboard_(pos)_name%
%fastbridger_global_leaderboard_(pos)_time%
%fastbridger_blocks%
%fastbridger_timer%
%fastbridger_emeralds%
%fastbridger_selected_block%
%fastbridger_selected_particle%
%fastbridger_session_leaderboard_(pos)_name%
%fastbridger_session_leaderboard_(pos)_time%
%fastbridger_global_leaderboard_(pos)_name%
%fastbridger_global_leaderboard_(pos)_time%
Built-In Scoreboard & Tablist
Includes configurable:- Scoreboards
- Tab headers/footers
- Join/leave messages
- Language file support (English and French out-of-the-box!)
Default Tablist:
Multi-Backend Storage Support
Supports H2, SQLite, MySQL, and MariaDB backends for seamless, high-performance profile loading and multi-server cross-network syncing.Setup Guide
1. Install the Plugin
Place the plugin jar in your server'splugins folder, then start/restart your server.2. Configuration & Customization
Configure your bridging platform parameters inside theconfig.yml, shop reward structures in block-selection.yml, and database options in the db.yml.3. Reload and Enjoy
Reload the configuration and language files at any time with:
Code:
/fb reload
Commands:
/blocks- Open the block selector/shop (Aliases: /shop, /blockshop, /blockselector)/fb pb- Displays your personal best bridging time/fb stats- View your comprehensive gameplay statistics/fb top- Show the global top 10 leaderboard/fb reload- Reload the configurations (Permission: fastbridger.admin.reload)/fb reset- Clear all statistics (Permission: fastbridger.admin.reset)/fb bypass- Toggle building/fall bypass (Permission: fastbridger.admin.bypass)/fb settime <player> <ticks>- Set a player's personal best time (Permission: fastbridger.admin.settime)/fb addplayer <player>- Forcefully add a player to a run (Permission: fastbridger.admin.addplayer)/fb removeplayer <player>- Forcefully remove a player (Permission: fastbridger.admin.removeplayer)
Configuration Overview
YAML:
# EzFastbridger Configuration
config-version: 1.1
# The language to use for messages
# Available: en, fr
language: en
gameplay:
# Distance below the platform height to trigger a reset
fall-distance: 5
# Material used for infinite bridging
wool-material: WOOL
# Data/Color for the wool (0=white, 1=orange, etc.)
wool-data: 0
# Whether to give the player full health and food on join/start
reset-status: true
# Whether to enable SuperVanish/PremiumVanish support
vanish-detection: true
# Whether to disable hunger depletion
disable-hunger: true
# Whether to disable all damage
disable-damage: true
# Whether to show join/quit messages
show-join-quit-messages: true
# Tab list header/footer
tab:
enabled: true
# Update interval in ticks (20 ticks = 1 second)
update-interval: 20
# Sidebar scoreboard
scoreboard:
enabled: true
# Update interval in ticks (20 ticks = 1 second)
update-interval: 10
# Sound effects (Set to NONE to disable)
# Format: SOUND_NAME, volume, pitch
sounds:
on-start: "NOTE_PLING, 1.0, 1.0"
on-finish: "LEVEL_UP, 1.0, 1.0"
on-fall: "HURT_FLESH, 1.0, 1.0"
on-place: "NONE"
# Title messages (Supported in 1.8+)
titles:
on-finish:
enabled: true
title: "&a&lFINISHED!"
subtitle: "&7Time: &e{time} &8| &a+{emeralds_gained} Emeralds!"
fade-in: 10
stay: 40
fade-out: 10
on-fall:
enabled: true
title: "&c&lFELL!"
subtitle: "&7Try again!"
fade-in: 5
stay: 20
fade-out: 5
# Commands to run when a player completes a run
finish-commands:
- "[CONSOLE] broadcast &b{player} &7finished in &e{time}!"
# Platform and Finish Line Configuration
platforms:
# The horizontal offset (spacing) between each player's slot arena in the world.
arena-spacing: 50
# Distance (in blocks) from the start of the start platform to the start of the end platform.
distance: 32
# Starting Y level for the start platform (default 100)
start-y: 100
# Safety boundary margin (in blocks) around platforms for building and movement.
boundary-margin: 5
# Starting platform settings
start-platform:
width: 4
length: 4
material: GRASS
data: 0
# Ending platform settings
end-platform:
width: 4
length: 4
material: GRASS
data: 0
y-offset: 0
# Finish Line Pressure Plate settings
pressure-plate:
material: STONE_PLATE
width: 2
length: 2
YAML:
# Block Selection and Shop System
block-selection:
# Whether the block selection menu is enabled
enabled: true
# Whether to use Emeralds as currency.
# If false, all blocks are unlocked and free.
emerald-currency: true
# Emeralds rewards for playing
rewards:
# Base emeralds awarded per run completed
completion: 15
# Bonus emeralds awarded for a new personal best (PB)
new-pb-bonus: 25
# Speed-based rewards settings
speed-rewards:
enabled: true
# If completion time is under this threshold (in milliseconds), they earn bonus emeralds!
threshold-ms: 15000
# For every 1000ms under the threshold, they get this many bonus emeralds
emeralds-per-sec-under: 7.0
# Maximum bonus emeralds they can earn from speed bonus
max-bonus: 50
# Distance scaling adapts speed rewards dynamically to the length of the bridge configured in config.yml!
distance-scaling:
enabled: true
# Speed threshold scaling: dynamically multiplies the speed threshold by the configured bridge distance.
# If enabled, speed threshold becomes: (platforms.distance * speed-threshold-per-block-ms)
# e.g., 32 blocks * 300 ms = 9600 ms (9.6 seconds)
# e.g., 100 blocks * 300 ms = 30000 ms (30 seconds)
speed-threshold-per-block-ms: 350
# Permission-based emerald multipliers (boosters)
multipliers:
enabled: true
# Whether multiple permission multipliers should stack (multiply together).
# If set to true, all multipliers for permissions the player has will be multiplied.
# If set to false, only the highest multiplier the player has will be applied.
stack: false
# List of permission nodes and their multiplier values.
# Because Bukkit splits keys on dots, these are represented as a nested structure.
# The permission nodes checked will be:
# - fastbridger.multiplier.vip (gives 1.5x)
# - fastbridger.multiplier.mvp (gives 2.0x)
permissions:
fastbridger:
multiplier:
vip: 1.5
vipplus: 2.0
# Available blocks for bridging
# Each block must have a unique key.
blocks:
default:
material: WOOL
data: 0
lang-key: default
price: 0
orange_wool:
material: WOOL
data: 1
lang-key: orange_wool
price: 100
red_wool:
material: WOOL
data: 14
lang-key: red_wool
price: 250
wood:
material: WOOD
data: 0
lang-key: wood
price: 500
brick:
material: BRICK
data: 0
lang-key: brick
price: 1000
# Configurable hotbar items distributed inside arenas
hotbar-items:
shop:
enabled: true
material: EMERALD
data: 0
slot: 4
lang-key: shop-item
YAML:
# Database Configuration
config-version: 1.0
# Database type: MARIADB, MYSQL, SQLITE, H2
type: H2
database:
host: localhost
port: 3306
name: fastbridger
user: root
password: ""
useSSL: false
timezone: UTC
file-name: fastbridger # Used for SQLite and H2
YAML:
config-version: 1.0
prefix: "&8[&bFastbridger&8] &r"
# Commands
command:
no_permission: "&cYou don't have permission to use this command."
players_only: "This command can only be used by players."
usage: "&7Usage: /fb <reset|pb|stats|top|reload>"
reset_success: "&eAll stats cleared."
reload_success: "&aConfiguration reloaded successfully!"
no_pb: "&7No personal best yet."
pb_display: "&bPB: {time}"
no_stats: "&7No statistics yet."
bypass_enabled: "&eBypass mode enabled."
bypass_disabled: "&eBypass mode disabled."
# Command Help Descriptions
help:
header: "&b&lEzFastbridger Help:"
reset: "&e/fb reset &7- Clear your statistics"
pb: "&e/fb pb &7- Show your personal best time"
stats: "&e/fb stats &7- Show your detailed statistics"
top: "&e/fb top &7- Show the global leaderboard"
reload: "&e/fb reload &7- Reload the plugin configuration"
blocks: "&e/fb blocks &7- Open the block selector/shop"
footer: "&b&l===================="
# Leaderboard Display
leaderboard:
header: "&e&lGlobal Leaderboard (Top 10):"
entry: "&7{pos}. &f{name}: &a{time}"
empty: "&7No runs completed yet."
footer: "&e&l===================="
# Game Messages
timer:
new_pb: " (NEW)"
completion: "Time: {time} | PB: {pb}{new_pb}"
# Global Messages
global:
join: "&8[&a+&8] &7{prefix}{player}"
quit: "&8[&c-&8] &7{prefix}{player}"
# Stats Display
stats:
header: "&6=== Fastbridger Stats ==="
best_time: "&aBest Time: {time}"
total_runs: "&aTotal Runs: {runs}"
completed_runs: "&aCompleted Runs: {completed}"
completion_rate: "&aCompletion Rate: {rate}%"
total_blocks: "&eTotal Blocks Placed: {blocks}"
avg_blocks: "&eAvg Blocks/Run: {avg}"
total_falls: "&cTotal Falls: {falls}"
avg_time: "&dAverage Time: {time}"
fastest_today: "&bFastest Today: {time}"
runs_today: "&bRuns Today: {runs}"
last_reset: "&bLast Reset: {date}"
# Tab List
tab:
header:
- ""
- "&b&lFASTBRIDGER"
- ""
footer:
- ""
- "&7PB: &a{best_time} &8| &7Blocks: &e{blocks}"
- "&7Players Online: &b{online}"
- ""
# Scoreboard
scoreboard:
title: "&b&lFASTBRIDGER"
lines:
- "&7&m "
- ""
- "&fTimer: &a{timer}"
- "&fBlocks: &e{blocks}"
- ""
- "&fPB: &b{best_time}"
- "&fEmeralds: &a{emeralds}"
- ""
- "&e&lGlobal Top 3:"
- "&71. &f{top_global_1_name}: &a{top_global_1_time}"
- "&72. &f{top_global_2_name}: &a{top_global_2_time}"
- "&73. &f{top_global_3_name}: &a{top_global_3_time}"
- ""
- "&7&m "
# Shop / Block Selection Messages
shop:
earned_emeralds: "&a+{amount} Emeralds!"
menu_title: "&9&lBlock Selector"
status_emeralds: "&aYour Emeralds: &e{emeralds}"
status_lore:
- "&7Keep bridging to earn more emeralds!"
selected: "&a&lSELECTED!"
unlocked: "&eClick to select!"
buy_confirm: "&eClick to purchase for &a{price} &eEmeralds!"
not_enough: "&cNot enough Emeralds! Needs {price}."
purchase_success: "&aSuccessfully purchased and selected {block}!"
select_success: "&aSelected {block}!"
disabled: "&cThe cosmetic shop is currently disabled."
# Block Translations
blocks:
default:
name: "&fDefault Wool"
lore:
- "&7The standard wool block."
- "&aAlready unlocked!"
orange_wool:
name: "&6Orange Wool"
lore:
- "&7Bridge in style with Orange!"
- "&7Price: &a{price} Emeralds"
red_wool:
name: "&cRed Wool"
lore:
- "&7Bridge in style with Red!"
- "&7Price: &a{price} Emeralds"
wood:
name: "&6Oak Wood"
lore:
- "&7Bridge with sturdy oak planks."
- "&7Price: &a{price} Emeralds"
brick:
name: "&cBrick Block"
lore:
- "&7Solid masonry for bridge builders."
- "&7Price: &a{price} Emeralds"
hotbar:
shop-item:
name: "&a&lCosmetics Shop &7(Right-Click)"
lore:
- "&7Right-click to select blocks!"
Developer API
EzFastbridger includes an API for developers who want to integrate with the plugin.You can:
- Access and modify player statistics (Best time, average blocks, runs, etc.)
- Hook into player arena settings and selections
- Register custom permission-based emerald multipliers dynamically (e.g. VIP boosters, event bonuses)
- Sync translations and handle player language preferences dynamically
To use the API:
- Add the EzFastbridger jar as a dependency in your Gradle/Maven configuration
- Ignore the jar using
.gitignoreif you are putting it in a github repo
https://javadocsezfastbridger.komas19.party/
Support
For setup help, bug reports, suggestions, or API questions, join the official Discord server:EzFastbridger Discord Support
