Detach stale game worlds from their MyWorlds inventory group before deletion

This commit is contained in:
NotAlexNoyle committed 2026-10-02 11:53:32 -04:00
1 parent ec0d480eb8
commit 20bfd44329
4 files changed
+8 -1

No files matched your search

+2
View File
@@ -4,6 +4,8 @@
- The sidebar now follows the Scoreboard-OG network board's look: a `♥ Splegg-OG ♥` title, one blank line between labelled blocks and a `true-og.net` footer. The queue card shows the map, the players in the lobby and the countdown; the match card shows the map, the players still alive, the player's own blocks broken and the time left as `mm:ss`. Every line is at most 16 legacy characters, so 1.8 clients on ViaBackwards see it uncut, and the layout is built in code rather than the removed `Scoreboard.*` keys in `config.yml`.
- Stale game-world copies left by a reload are detached from their MyWorlds inventory group before deletion, matching the normal cleanup path. A copy still attached to its template's group can be that group's storage world, which MyWorlds refuses to delete, so without detaching first the leftover world folder would be left behind.
**0.9.8:**
- Lobbies now work like TheHerobrine-OG's. Every hub world under `Worlds.Lobby` is one persistent lobby whose id is the world name up to the dash (`SP1-hub` is `SP1`). Players join with `/splegg join SP1`, `/splegg join 1`, `/sp join 1` or `/spjoin 1`, wait and vote in the hub, and the match runs in a fresh `SP1-<map>` copy that is deleted afterwards. `/splegg join` with no argument picks the best open lobby. Joining by map name and `/splegg random` are gone.
+1 -1
View File
@@ -1,4 +1,4 @@
# Splegg-OG 0.9.8
# Splegg-OG 0.9.9
![Icon](https://raw.githubusercontent.com/true-og/Splegg-OG/master/assets/splegg-logo.png)
Binary file not shown.
@@ -165,6 +165,11 @@ public class GameWorldManager {
}
// Same as cleanupWorld: a copy still in its template's bundle could be the
// bundle's storage world, which MyWorlds refuses to delete
WorldInventory.detach(Collections.singletonList(name));
if (worldConfig.deleteWorld())
return true;