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

L-Bedwars

An advanced BedWars plugin with proxy support, packing multiple features into one!

Загрузки
14
Подписчики
0
Обновлён
9 июля 2026 г.
Лицензия
AGPL-3.0-or-later

Опубликован 22 июня 2026 г.

L-BedWars

Advanced BedWars plugin for Folia/Paper/Spigot 1.19+. Fully configurable, multi-language, with stats tracking, cosmetics, battle pass, shop, team upgrades, and proxy support.


Features

Multi-Arena System

Supports unlimited arenas with four mode types — solo (1 player/team), duo (2), trio (3), quad (4). Each arena has its own config, shop, upgrades, generators, and region bounds.

Folia Support

Game Mechanics

  • Pre-game lobby: Players join a shared waiting lobby, countdown starts when minimum players are met (configurable per mode)
  • Game start: 5-second invulnerability countdown, armor is applied, items given, generators activated, shop/upgrade NPCs spawned
  • Bed system: Each team has a bed breakable by enemies. Breaking a bed prevents that team from respawning
  • Sudden death: When max-game-time is reached, all remaining beds break with particle effects (BLOCK_CRACK, STEP_SOUND), dropped bed items are cleaned up, and dragons spawn for teams with the Dragon Buff upgrade
  • Win condition: Last team alive wins. If all players disconnect, the game resets immediately

Generators

Four types: Iron, Gold, Diamond, Emerald with configurable spawn rates and upgrade schedules.

  • Base rates: Iron (2s), Gold (8s), Diamond (30s), Emerald (60s)
  • Diamond generators auto-upgrade at 300s, 600s, 900s into game
  • Emerald generators auto-upgrade at 360s, 720s, 1080s into game
  • Team forge upgrades (via team upgrades) improve iron/gold rates
  • Each upgrade tier reduces spawn delay by a configurable amount

Shop System

Per-mode shop configuration (shop/<mode>.yml). Categories contain buyable items with:

  • Cost type: Iron, Gold, Diamond, or Emerald
  • Display: Custom name, lore, material
  • Reward commands: Optional commands executed on purchase
  • Shop is accessed via Shop NPC placed during arena setup

Team Upgrades

Per-mode upgrade trees (upgrades/<mode>.yml) purchased with diamonds via Upgrade NPC:

  • Sharpened Swords — increases sword damage (multiple tiers)
  • Reinforced Armor — reduces incoming damage (multiple tiers)
  • Dragon Buff — spawns a dragon for your team at sudden death
  • Heal Pool — regeneration zone at your base
  • Forge — improves generator spawn rates
  • Trap — triggers when enemies enter your base (alerts team, reveals enemies)
  • Alarm Trap — alerts team when enemies are nearby

Special Items

Buyable from the shop with unique mechanics:

  • Pop-Up Tower (Wool, 6 emeralds): Animated block-by-block tower placement (wool frame + ladder access). Built in the direction the player is facing. Configurable cooldown (specials.popup-tower.cooldown). Safety checks prevent building near beds, arena boundaries, or team spawn entrances
  • Iron Golem (Iron Ingot, 4 emeralds): Spawns a team-protecting golem with configurable health, speed, follow range, and collidable setting. Attacks nearby enemies. Cooldown between spawns
  • Bridge Egg (Egg, 2 emeralds): When thrown, creates a temporary bridge from the impact point
  • Fireball (Fire Charge, 1 emerald): Explosive projectile that destroys blocks and damages entities
  • TNT (TNT, 2 gold): Placeable explosive with configurable fuse and knockback mechanics for TNT jumping

Tracker Compass

Buyable compass (1 emerald) that tracks the nearest enemy player. Right-click to update target. Tracks players from different teams only. Target updates every 5 seconds automatically. Removed on death.

Spectator System

When a player dies (final kill), they enter spectator mode with:

  • Compass — cycle through alive players to spectate
  • Red Bed — teleport to team bed locations
  • Players are invisible and can fly through blocks
  • Admin spectate via /bwa spectator

Rejoin System

If a player disconnects during a game while their bed is still alive, they can rejoin using /bw rejoin. They respawn at their team's spawn after a 5-second countdown.

Stats Tracking

Tracks per-player statistics stored in YAML, SQLite, or MySQL:

  • Kills, Deaths, K/D Ratio
  • Final Kills, Final Deaths, Final K/D Ratio
  • Wins, Losses, W/L Ratio
  • Beds Broken, Games Played
  • Winstreak (persistent across sessions)
  • All stats accessible via PlaceholderAPI placeholders

Level System

100 levels with XP scaling. XP formula: XP = floor(500 * 1.15^(level-1)). XP sources:

  • Kill: +10 XP
  • Win: +60 XP
  • Final Kill: +20 XP
  • Bed Break: +30 XP
  • Each 5 levels grants an achievement broadcast

Battle Pass

Configurable season-based progression system:

  • Tiers: Configurable number of tiers with XP requirements per tier
  • Free Rewards: Available to all players (opened via /bw battlepass)
  • Premium Rewards: Require a separate permission to unlock
  • XP Sources: Kills, wins, final kills, bed breaks (configured in rewards.yml)
  • Contribute to Battle Pass: Toggleable - when enabled, XP goes to both level and battle pass systems
  • Progress resets each season via /bwa bp reset confirm

Daily Rewards

Configurable daily reward system:

  • XP Reward: Configurable amount
  • Coins Reward: Configurable amount
  • Money Reward: Vault economy integration (configurable amount)
  • Cooldown: Configurable in hours (minimum 1)
  • Claim via /bw dailyreward
  • Admin management via /bwa reward *

Cosmetics

Cosmetic items purchasable and selectable via GUI:

  • Kill Effects — visual effects on kill (e.g., lightning, hearts, smoke)
  • Victory Dances — effects played on game win
  • Death Cries — sound played on death
  • Projectile Trails — particle trails behind projectiles
  • Island Toppers — decorative blocks placed at team spawn
  • Victory Songs — NoteBlockAPI-powered songs played on win
  • Each cosmetic has a price (coins), permission node, and unlock condition

Scoreboard

Customizable scoreboards:

  • Lobby Scoreboard: Shows arena name, player count, map name, mode, waiting time, your team
  • In-Game Scoreboard: Shows kills, finals, beds broken, game time (with dragon countdown if near max-game-time), team information
  • All text configurable via language files
  • Updates every 2 seconds

BossBar

Configurable waiting lobby indicator:

  • Toggleable via bossbar.enabled
  • Title with placeholders: {arena}, {seconds}, {count}, {max}
  • Countdown bar (show-countdown): Drains the progress bar during the lobby countdown
  • Appears instantly when a player joins the arena lobby
  • Updates in real-time as players join/leave
  • Hidden when the game starts

Tab List

Customizable tab list header and footer per arena:

  • Supports team color sorting
  • Placeholders for arena name, player count, game state
  • Configurable via language files

Ban System

In-game ban management:

  • Ban duration: Supports seconds (5s), minutes (30m), hours (10h), days (5d), permanent (perm)
  • Ban GUI: View all banned players with /bwa banlist
  • Unban: Remove bans via /bwa unban <player>
  • Bans check on arena join

Proxy Mode (BungeeCord/Velocity)

Multi-server support with companion proxy plugin:

  • Server status broadcasting: Arena state, player count, map info shared via TCP
  • Cross-server spectate: Teleport to and spectate players on any server
  • Smart joining: /bw join <mode> finds the best available arena across all servers
  • Queue system: If no arena is available, players are queued and auto-connected when one opens
  • Party support: Party leader's queue state shared with members
  • Server MOTD: Displays arena status and player count
  • Leaderboard holograms: Placeable holograms showing top players (configurable per stat)

Command Whitelist

Limit which commands players can use during matches:

  • Toggleable via command-whitelist.enabled (default: false)
  • Configurable command list in command-whitelist.commands
  • Silent cancellation for non-whitelisted commands
  • Only active during PLAYING game state

Party Integration

Support for alessiodp's Parties API:

  • Party members join the same arena together
  • Party leader's game mode determines which mode the party joins
  • Queue system in proxy mode shares queue state with all party members

Multi-Language

YAML-based language system with built-in support for English, Turkish, and Spanish:

  • Loaded from messages_<lang>.yml or messages.yml (custom)
  • All in-game messages, titles, action bars, scoreboard lines, and GUI text are configurable
  • Language set via language in config.yml
  • Easy to add new languages by creating new message files

PlaceholderAPI

30+ placeholders under the %lbedwars_*% identifier covering stats, levels, economy, cosmetics, and real-time arena information.

Commands

/bedwars (alias: /bw) — Player Commands

Permission: bedwars.play (default: all players)

Subcommand Arguments Description
help Shows the help menu
join <arena> Join a specific arena by name
randomjoin <mode> Join a random available arena by mode (solo, duo, trio, quad)
rejoin Rejoin your last game if your bed is still alive
leave Leave the current arena
list List all enabled arenas with player counts
stats [player] View your stats or another player's stats (opens GUI)
level View your level, XP, and progress to next level
dailyreward Claim your daily reward
cosmetics Open the cosmetics selection menu
battlepass Open the Battle Pass menu

Examples:

/bw help
/bw join BedWars1
/bw randomjoin solo
/bw rejoin
/bw leave
/bw list
/bw stats
/bw stats Notch
/bw level
/bw dailyreward
/bw cosmetics
/bw battlepass

/bedwarsadmin (aliases: /bwa, /bwadmin) — Admin Commands

Permission: bedwars.admin (default: op)

Arena Management

Subcommand Arguments Description
help Shows the admin help menu
create <name> Create a new arena with the given name
setup <arena> Enter setup mode for an arena (enables /setup commands)
delete <arena> Delete an arena and its config
enable <arena> Enable an arena for joining
disable <arena> Disable an arena (prevents joining)
setlobby <arena> Set the waiting lobby spawn at your current location
setspectator <arena> Set the spectator spawn at your current location
setmainlobby Set the global main lobby (post-game teleport destination)
setmode <arena> <mode> Set arena game mode: solo, duo, trio, quad
forcestart <arena> Force-start the game countdown immediately
reload Reload all configurations and language files

Team Management

Subcommand Arguments Description
addteam <arena> <name> <color> <max-players> Add a team to an arena (max-players: 1-4)
removeteam <arena> <name> Remove a team from an arena

Available colors: RED, BLUE, GREEN, YELLOW, AQUA, WHITE, BLACK, GOLD, GRAY, DARK_RED, DARK_BLUE, DARK_GREEN, LIGHT_PURPLE

Spectate

Subcommand Arguments Description
spectator <arena|player> Spectate an arena or teleport to and spectate a specific player

Level Management

Subcommand Arguments Description
addxp <player> <amount> Add XP to a player

Battle Pass Management

Subcommand Arguments Description
bp reset [confirm] Reset the Battle Pass season (must confirm within 30s)

Daily Reward Management

Subcommand Arguments Description
reward help Show reward help menu
reward setxp <amount> Set the XP reward amount
reward setcoins <amount> Set the coin reward amount
reward setmoney <amount> Set the money reward amount (requires Vault)
reward setcooldown <hours> Set reward cooldown in hours (minimum 1)
reward reset <player> Reset a specific player's reward cooldown
reward info Show current reward settings
reward toggle Enable/disable the reward system

Ban Management

Subcommand Arguments Description
ban [duration] <player> <reason> Ban a player from BedWars. Duration formats: 5s, 30m, 10h, 5d, perm or permanent. Default: permanent
unban <player> Unban a player
banlist [page] Open the ban list GUI or view a specific page

Examples:

/bwa create MyArena
/bwa setup MyArena
/bwa addteam MyArena Red RED 4
/bwa removeteam MyArena Red
/bwa delete MyArena
/bwa enable MyArena
/bwa disable MyArena
/bwa reload
/bwa setlobby MyArena
/bwa setspectator MyArena
/bwa setmainlobby
/bwa forcestart MyArena
/bwa setmode MyArena quad
/bwa spectator MyArena
/bwa spectator Notch
/bwa addxp Notch 500
/bwa bp reset
/bwa bp reset confirm
/bwa reward setxp 100
/bwa reward setcoins 50
/bwa reward setmoney 1000.0
/bwa reward setcooldown 24
/bwa reward reset Notch
/bwa reward info
/bwa reward toggle
/bwa ban 7d Notch Griefing
/bwa ban perm Notch Hacking
/bwa unban Notch
/bwa banlist

/setup — Arena Setup Commands

Permission: bedwars.setup (default: op) Note: Must be in setup mode first using /bwa setup <arena>. In setup mode you get a blaze rod wand.

Subcommand Arguments Description
help Shows setup help menu
setspawn <team> Set the team's spawn point at your current location
setbed <team> Set the team's bed location (stand near the bed and look at it; sets both head and foot automatically)
setgenerator <type> Place a generator at your location. Types: IRON, GOLD, DIAMOND, EMERALD
setshop Place a shop NPC at your current location
setupgrade Place an upgrade NPC at your current location
setregion Save the arena region using the two corners selected with your blaze rod wand (left-click = corner 1, right-click = corner 2)
done Finalize and save the arena configuration, exit setup mode

Examples:

/bwa setup MyArena        (enter setup mode)
/setup setspawn Red
/setup setbed Blue
/setup setgenerator IRON
/setup setgenerator DIAMOND
/setup setshop
/setup setupgrade
/setup setregion           (select corners with wand first)
/setup done                (save and exit)

Permissions

Permission Default Description
bedwars.play true Access to player commands and gameplay
bedwars.admin op Access to admin commands
bedwars.setup op Access to arena setup commands
bedwars.bypass op Bypass block/game restrictions (place/break during game, join started games)

Placeholders (PlaceholderAPI)

All placeholders use the %lbedwars_<placeholder>% format.

Stats

Placeholder Type Description
%lbedwars_kills% int Total kills
%lbedwars_deaths% int Total deaths
%lbedwars_kd% float Kill/death ratio (2 decimal places)
%lbedwars_finalkills% int Final kills
%lbedwars_finaldeaths% int Final deaths
%lbedwars_finalkd% float Final kill/death ratio (2 decimal places)
%lbedwars_wins% int Total wins
%lbedwars_losses% int Total losses
%lbedwars_wlr% float Win/loss ratio (2 decimal places)
%lbedwars_bedsbroken% int Beds broken
%lbedwars_gamesplayed% int Games played
%lbedwars_winstreak% int Current win streak

Level & XP

Placeholder Type Description
%lbedwars_level% int Current level (1–100)
%lbedwars_xp% int Current XP amount
%lbedwars_xp_required% int XP required to reach next level
%lbedwars_xp_percent% float Progress to next level as percentage (0–100)
%lbedwars_xp_progress% string Progress bar (20 segments, filled/unfilled)

Economy

Placeholder Type Description
%lbedwars_balance% int Balance (integer, rounded down)
%lbedwars_balance_formatted% string Balance with formatting

Cosmetics

Placeholder Type Description
%lbedwars_active_killeffect% string Name of active kill effect
%lbedwars_active_victorydance% string Name of active victory dance
%lbedwars_active_trail% string Name of active projectile trail
%lbedwars_active_victorysong% string Name of active victory song

Arena (real-time — only shows data when player is in an arena)

Placeholder Type Description
%lbedwars_arena% string Current arena name
%lbedwars_gamestate% string Current game state (WAITING / STARTING / PLAYING / ENDING)
%lbedwars_gametime% string Game elapsed time in MM:SS format
%lbedwars_isplaying% string YES if playing, NO otherwise
%lbedwars_isspectating% string YES if spectating, NO otherwise
%lbedwars_players% int Current player count in arena
%lbedwars_maxplayers% int Maximum player count in arena
%lbedwars_team% string Team name
%lbedwars_teamcolor% string Team color code (e.g., &c)
%lbedwars_team_colored% string Team name with color codes applied
%lbedwars_teammates% int Total teammates in the team
%lbedwars_teammates_alive% int Alive teammates
%lbedwars_hasbed% string YES if bed is alive, NO otherwise

Position Leaderboards (requires online database)

%lbedwars_position_kills%
%lbedwars_position_wins%
%lbedwars_position_final-kills%
%lbedwars_position_beds-broken%

Returns the player's ranking position (integer).


rewards.yml — Game Event Rewards

Path Type Default Description
game-rewards.kill-xp int 10 XP earned per kill
game-rewards.win-xp int 60 XP earned per win
game-rewards.bed-break-xp int 30 XP earned per bed break
game-rewards.final-kill-xp int 20 XP earned per final kill
game-rewards.kill-coins int 5 Coins earned per kill
game-rewards.win-coins int 30 Coins earned per win

battlepass.yml — Battle Pass Settings

Path Type Default Description
battlepass.enabled boolean false Enable the Battle Pass system
battlepass.contribute-to-bp boolean true If true, XP earned in games also contributes to battle pass progress
battlepass.tiers int 50 Number of tiers in the pass
battlepass.xp-per-tier int 250 XP required per tier
battlepass.rewards.free.<tier> list Free reward commands per tier
battlepass.rewards.premium.<tier> list Premium reward commands per tier

cosmetics.yml — Cosmetics Configuration

Path Type Default Description
kill-effects.<name>.material string Display material in GUI
kill-effects.<name>.price int Price in coins
kill-effects.<name>.permission string Required permission node
kill-effects.<name>.effect string Effect type (e.g., LIGHTNING, HEART, NOTE, SMOKE, FLAME, EXPLOSION, CRIT, SPELL)
victory-dances.* Same structure as kill effects
death-cries.* Same structure with sound name
trails.* Same structure with particle type
island-toppers.* Same structure with block material
victory-songs.* Same structure with NBS filename

dailyrewards.yml — Daily Reward Settings

Path Type Default Description
enabled boolean true Enable daily rewards
xp int 50 XP reward amount
coins int 25 Coins reward amount
money double 100.0 Money reward amount (Vault)
cooldown int 24 Cooldown in hours

shop/<mode>.yml — Shop Configuration

Structure per category:

categories:
  <category_name>:
    item: <material>           # Display item in shop GUI
    name: "<display name>"     # Category display name
    lore:
      - "<lore line>"          # Category lore
    items:
      - material: <material>           # Item to buy
        name: "<display name>"         # Item display name
        lore:                          # Item lore
          - "<lore line>"
        price-type: IRON|GOLD|DIAMOND|EMERALD
        price: <amount>                # Cost
        amount: <count>                # Quantity received
        reward-commands:               # Commands run on purchase (optional)
          - "<command>"

upgrades/<mode>.yml — Upgrade Configuration

Structure per upgrade:

upgrades:
  <upgrade_name>:
    name: "<display name>"
    item: <material>
    lore:
      - "<lore line>"
    max-tier: <tier_count>
    costs:
      - <diamond_cost>          # One cost per tier (list)
    values:
      - <value>                 # One value per tier (list)

Default upgrades: sharpened-swords, reinforced-armor, dragon-buff, heal-pool, forge, trap, alarm-trap.

arenas/<arena>/config.yml — Arena Definition

Auto-generated during setup. Contains:

  • Mode and display name
  • Team definitions: color, name, spawn location, bed location + facing direction, bed foot location
  • Generator locations: iron, gold, diamond, emerald positions
  • NPC locations: shop and upgrade NPC coordinates
  • Region bounds: min/max X, Y, Z coordinates
  • Lobby location: waiting lobby spawn point
  • Spectator spawn: spectator observation location

Dependencies

Required:

  • Paper 1.19+ (or Folia/Spigot with Paper API)

Soft dependencies (optional):

Plugin Purpose
PlaceholderAPI Placeholder expansion for %lbedwars_*%
Vault Economy integration for shop purchases
NoteBlockAPI Victory song playback (.nbs files)
Parties (alessiodp) Party queue system

Proxy Module

A companion BungeeCord/Velocity plugin (L-BedWarsProxy) for multi-server networks.

Features

  • Smart Joining: /bw join <mode> finds the best available arena server and connects the player
  • Queue System: If all servers are full, players queue and auto-connect when a slot opens
  • Party Support: Party leader's queue state is shared, all members connect together
  • Server Status Broadcasting: Game servers report arena states via TCP (configurable port)
  • Server MOTD: Displays current arena status and player counts on the server list
  • Cross-Server Spectate: Admin spectate any player across servers
  • Leaderboard Holograms: Placeable holograms showing top players per stat (kills, wins, final kills, beds broken, deaths, final deaths, losses, games played)

Proxy Commands

/bw — Join Commands (no permission required)

Subcommand Arguments Description
join <mode> Find and connect to best available arena
rejoin Reconnect to your previous game server
stats [player] View stats GUI
battlepass / bp Open Battle Pass GUI

/bwa — Admin Commands (permission: lbedwarsproxy.admin, default: op)

Subcommand Arguments Description
gui [filter] Open arena browser UI (filter: all, solo, duo, trio, quad)
tp <player> Teleport to and spectate a player across servers
leaderboard [stat] Open leaderboard GUI (stat: kills, wins, final_kills, beds_broken)
hologram set [stat] Place a leaderboard hologram
hologram remove [id] Remove a hologram by ID
hologram list List all placed holograms
ban [duration] <player> <reason> Proxy-wide ban
unban <player> Proxy-wide unban
banlist [page] View banned players

SUPPORT

discord: squezsaz discord: https://discord.gg/W23eQgPFKM

Ченджлог

2.0.0Бета26.1.1, 26.1.2, 26.2 · 9 июля 2026 г.

Update Notes / Changelog

  • Cosmetics Menu: The appearance and design of the cosmetics menu have been revamped! (L-Bedwars)
  • BattlePass: BattlePass feature has been added! (L-Bedwars, L-Bedwars Proxy)
  • New Cosmetic: Join Messages! (L-Bedwars)
  • Ban System: Ban system has been implemented! (L-Bedwars, L-Bedwars Proxy)
  • Stats Command: The /bw stats command has been updated; it now opens a GUI menu when used! (L-Bedwars, L-Bedwars Proxy)
  • BossBar: A BossBar has been added to the waiting lobby to display various information! Fully configurable via config. (L-Bedwars)
  • New Items: Sponge and Pop-up Tower items have been added to the shop! (L-Bedwars)
  • Dragon System: The Dragon system has been updated! (L-Bedwars)
  • Command Whitelist: Command Whitelist feature has been introduced! (L-Bedwars)

Комментарии

Загружаем…