BedWars1058 v25.3.3
Note
Stable release.
At a glance
| Area | Change |
|---|---|
| Scoreboard | Team status (check/cross) moved back inline next to the team name on 1.20.3+ |
| Stability | Fixed a crash-the-arena NullPointerException in team lookups on a torn-down arena |
Fixes
Scoreboard team status floating away from its team on 1.20.3+
Upstream draws the team status mark in the score slot of its sidebar line on 1.20.3 and newer. The client right-aligns the score to the widest line in the sidebar, so the mark ended up parked at the far right edge of the whole scoreboard, detached from the team it belonged to. On a resource pack with a narrow font it could look missing entirely. It is back inline, next to the team name, by default.
Technical detail
New config key:
scoreboard-settings:
sidebar:
team-status-in-score-slot: falseSet it to true to restore the upstream score-slot placement. The score slot renders blank (FixedFormat("")) when unused, so no stray numbers show up in its place.
Crash-the-arena NullPointerException in team lookups
An arena being torn down (destroyData()) nulls its team list. A task still mid-flight against that same arena could hit the null list while refreshing a player's sidebar, throwing and killing that arena's game logic for everyone in it.
Technical detail
java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because the return
value of "com.andrei1058.bedwars.arena.Arena.getTeams()" is null
at com.andrei1058.bedwars.arena.Arena.getTeam(Arena.java:1845)
at com.andrei1058.bedwars.arena.stats.StatisticsOrdered$StringParser.parseString(StatisticsOrdered.java:113)
at com.andrei1058.bedwars.sidebar.BwSidebar.normalizeLines(BwSidebar.java:216)
at com.andrei1058.bedwars.arena.Arena.changeStatus(Arena.java:1553)
at com.andrei1058.bedwars.arena.tasks.GameStartingTask.run(GameStartingTask.java:134)
Arena.getTeams() now returns an empty list instead of null once the arena's data has been torn down, so every call site (getTeam(Player), getTeam(String), and everything else reading the team list) degrades gracefully instead of crashing.
Tip
Tested on Paper 1.8.8 and 1.20.4.
Betas that led here: v25.3.3-beta.3776 covered the scoreboard fix and was run on a live server before this build. The NullPointerException fix landed after that beta and went straight to stable, it was not separately beta-tested.
Base: built on top of v25.3.2.