Move scoreboard overrides to a separate field#13378
Conversation
|
@copilot What are your opinions |
|
@Owen1212055 I've opened a new pull request, #13379, to work on those changes. Once the pull request is ready, I'll request review from you. |
There was a problem hiding this comment.
Pull request overview
This PR refactors scoreboard override storage from a centralized HashMap in CraftScoreboardManager to individual fields in CraftPlayer instances, improving performance when mutating scoreboard fields that iterate over players.
Key Changes
- Removed the
playerBoardsHashMap fromCraftScoreboardManager - Added
scoreboardOverridefield toCraftPlayerwith getter/setter methods - Updated all scoreboard override access to use the new player-based storage
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| paper-server/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java | Removed HashMap field and updated methods to delegate scoreboard override storage to CraftPlayer instances |
| paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | Added scoreboardOverride field with getter/setter methods to store per-player scoreboard overrides |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
Outdated
Show resolved
Hide resolved
lynxplay
left a comment
There was a problem hiding this comment.
My server was struggling with 2 players online, now I can host around 500 players on a single instance, thank you owen!
|
Thanks for the PR. My server now goes so fast it travels back in time and prevents players from joining in the first place. 10/10 would merge again |
Speeds up scoreboard fetching a bit, most notably when mutating scoreboard fields, which iterate over each player in the world