Multiverse/Multiverse-Core — Issue #443: mv.bypass.gamemode checked inconsistently? Or cached?
Author: Psithief
Created: 2012-01-30 10:32:21+00:00
State: open

I'm using ButtonWarp to get around, but mv.bypass.gamemode doesn't always get checked when I travel between worlds.

I would like to know if there is some weird stuff going on inside multiverse.

Here are some of my logs:
`/mvtp city` (survival to survival)

```
05:20:37 [INFO] User Psithief checked for "worldguard.region.bypass.intro", "worldguard.region.*" found
05:20:37 [INFO] User Psithief checked for "multiverse.teleport.self.w", "multiverse.teleport.*" found
05:20:37 [INFO] User Psithief checked for "multiverse.access.city", "multiverse.access.city" found
05:20:37 [INFO] User Psithief checked for "preciousstones.blacklist", "-preciousstones.*" found
05:20:37 [INFO] User Psithief checked for "preciousstones.bypass.entry", "preciousstones.bypass.*" found
05:20:37 [INFO] User Psithief checked for "multiverse.exempt.city", "-multiverse.*" found
05:20:37 [INFO] User Psithief checked for "multiverse.exempt.*", "-multiverse.*" found
05:20:37 [INFO] User Psithief checked for "multiverse.*", "-multiverse.*" found
```
Result: changed from gamemode 1 to 0 on arrival.

`/mvtp survival` (survival to survival)

```
05:22:23 [INFO] User Psithief checked for "worldguard.region.bypass.city", "worldguard.region.*" found
05:22:23 [INFO] User Psithief checked for "preciousstones.blacklist", "-preciousstones.*" found
05:22:23 [INFO] User Psithief checked for "preciousstones.bypass.entry", "preciousstones.bypass.*" found
```
Result: stayed in gamemode 1
Woah, where'd multiverse go? Cached?

`Logging off, logging on`

```
05:24:24 [INFO] User Psithief checked for "mv.bypass.gamemode.*", no permission found
05:24:24 [INFO] User Psithief checked for "mv.bypass.gamemode.city", "mv.bypass.gamemode.city" found
```
Result: stayed in gamemode 1

`/mvtp minigames`

```
[INFO] User Psithief checked for "worldguard.region.bypass.city", "worldguard.region.*" found
[INFO] User Psithief checked for "multiverse.teleport.*", "multiverse.teleport.*" found
[INFO] User Psithief checked for "multiverse.teleport.self.w", "multiverse.teleport.*" found
[INFO] User Psithief checked for "multiverse.access.minigames", "multiverse.access.minigames" found
[INFO] User Psithief checked for "preciousstones.blacklist", "-preciousstones.*" found
[INFO] User Psithief checked for "preciousstones.bypass.entry", "preciousstones.bypass.*" found
[INFO] User Psithief checked for "multiverse.exempt.minigames", "-multiverse.*" found
[INFO] User Psithief checked for "multiverse.exempt.*", "-multiverse.*" found
[INFO] User Psithief checked for "multiverse.*", "-multiverse.*" found
[INFO] User Psithief checked for "mv.bypass.gamemode.*", no permission found
[INFO] User Psithief checked for "mv.bypass.gamemode.minigames", "mv.bypass.gamemode.minigames" found
```
Result: changed from gamemode 1 to 0 on arrival.

I just can't pin this down. Is `mv.bypass.gamemode` somehow being incorrectly checked in `multiverse.*`?

Not only that, but it gets checked *twice*.
Once for `mv.bypass.gamemode.*`
and once for `mv.bypass.gamemode.world`
in that order.

This seems like a bug. Why check for mv.bypass.gamemode.* if you're not checking for mv.bypass.* or mv.*?