All versions
2.1-beta
Beta
New Bedwars 2.1-beta2 weeks ago 72
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
Platforms
Paper
Spigot
Changes
[2.1-beta] — 2026-06-25
Added
- Arena statistics & leaderboards — wins, losses, kills, deaths, final kills, beds broken, and games played are now persisted to
data/playerStats.json(or thePlayersMySQL table) and updated at the end of every game;/bw leaderboard [wins|kills|beds|fk]shows the top 10 in chat - Player profile GUI —
/bw stats [player]//bw profile [player]opens a profile GUI showing all lifetime stats; K/D and W/L ratios are displayed alongside raw counts - Fast-buy slot customization — players can rearrange the home-page fast-buy slots in the shop via the "Customize Fast-Buy" button in their profile GUI; preferences are saved per-player and persist across sessions
- Iron Golem custom item — spawns a iron golem that attacks enemies
- Silverfish custom item — releases a swarm of 5 silverfish from the buyer's feet that automatically despawn after 30 seconds
- Portable Tower custom item — instantly constructs a team-colored wool tower with a ladder
- Expanded PlaceholderAPI support — new placeholders:
%newbedwars_deaths%,%newbedwars_team_color%,%newbedwars_game_time%; full lifetime stats via%newbedwars_stat_wins%,stat_losses,stat_kills,stat_deaths,stat_final_kills,stat_beds,stat_games,stat_kd,stat_wl
Fixed
cancelStart()NPE —countdownTimeris now null-checked before cancellationGamePhasesout-of-bounds —getCurrentPhase()andstart()now guard againstcurrentPhase >= phases.size()- Respawn upgrade not applied —
respawnPlayer()now null-checksgetTeamUpgrades()before callingapplyPlayerUpgrades() - Win check silently discarded — the empty
if (checkWin()) {}block inkillPlayer()was replaced with a directcheckWin()call so game endings trigger correctly getGameTime()always returned 0 — game-start timestamp is now recorded instart()and elapsed seconds are computed correctly- Respawn task leaked on arena shutdown — the
BukkitRunnablefor player respawn is now stored inGamePlayerand cancelled in bothstop()andforceShutdown() arena_<name>_max_playersplaceholder broken — the per-arena placeholder parser now matches known multi-word suffixes (longest first) instead of usinglastIndexOf('_'), which was splittingmax_playersincorrectly
Changed
- Shop prices rebalanced
- Team-generator rebalanced
TODO
- Fix portable tower direction
- Add fast-buy slot reset
- Add language support for newest features
- Add missing permissions
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:e6sbnIml:higsY51A"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:e6sbnIml:higsY51A"
}

