fix: add missing game mode worlds to the default config - #61
Merged
Conversation
The shipped `worlds:` list had not kept up with the game modes BentoBox now has, so SkyGrid, Raft, Brix and Parkour were absent. On a fresh install InvSwitcher silently did not manage those worlds, and because nothing is logged for a world that was never hooked, there is no signal that coverage is missing until items start leaking between worlds. This surfaced on a server running Multiverse-Inventories alongside InvSwitcher. After granting `mvinv.bypass.world.parkour_world` to stop MV-I handling the world, `parkour_world` was left with no inventory manager at all - it was not in InvSwitcher's world list either - and items carried straight out of the parkour world into the lobby. World names verified against each game mode's own config: skygrid-world (SkyGrid), raft_world (Raft, from Settings.java), brix_world (Brix), parkour_world (Parkour). Existing entries are untouched, and only new installs pick up the additions. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YXnYDGiASdSUZFtNyS4jbc
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
The shipped
worlds:list has not kept up with the game modes BentoBox now has. Four are missing, so on a fresh install InvSwitcher silently does not manage those worlds. There is no signal when this happens — a world that was never hooked produces no log line — so the gap is invisible until items start leaking between worlds.This came out of a support case. A server running Multiverse-Inventories alongside InvSwitcher was told to grant
mvinv.bypass.world.<world>to stop MV-I fighting InvSwitcher (see #60). That worked for BSkyBlock and OneBlock, but Parkour then broke in a new way:parkour_worldhad MV-I switched off by the bypass and was absent from InvSwitcher's world list, leaving it with no inventory manager at all. Pressure plates picked up in the parkour world walked straight out into the lobby.Audit
World names taken from each game mode's own config:
acidisland_worldbskyblock_worldboxed_worldcaveblock-worldoneblock_worldstranger_worldposeidon_worldskygrid-worldraft_worldbrix_worldparkour_worldRaft's name comes from
Settings.java(world.world-name, defaultraft_world) since its config.yml is generated.ggwas checked and excluded — it extendsAddon, notGameModeAddon, and has no world.Notes
skyblock-worldis already in the list and matches no current game mode. Left alone deliberately — harmless, and removing it could affect anyone who genuinely named a world that.Verification
mvn test— 125 tests, 0 failures. (Local JaCoCo cannot instrument Java 25 class files, so the run used-Djacoco.skip=true; unrelated to this change.)🤖 Generated with Claude Code
https://claude.ai/code/session_01YXnYDGiASdSUZFtNyS4jbc