Paper v1.16.1 - While using last_location, when entering a nether portal, player is teleported to spawn of the "from" world rather than the "to" world
Crosis47 opened this issue ยท 32 comments
So I've been racking my brain with every possible config option I could think of but I can't seem to clear this up and my group of players are waiting for me to get this fixed so we can get this server going again. This issue only happens when I have last_location enabled. I have tried disabling / enabling optionals for ungrouped worlds as in some other similar issues with no change. When creating a nether portal in my survival world and entering it, I am teleported back to the spawn of the survival world. If I have a bedspawn set, the same thing happens however, if I die after trying to use the portal without setting my bedspawn again, I am spawned at my bed and a split second later, teleported to the worldspawn.
If I don't use the nether portal at all after setting a bedspawn, the world functions completely as it should. Upon disabling last_location these symptoms go away and portals / spawns work as they should. If I enable last_location while in the nether and follow the same type of steps with a respawn anchor I get the same results but in the Nether.
Below are 2 excerpts from my log with debug level 3. The first is when I enter the nether portal with last_location turned on from the overworld. The 2nd is a death after having tried to use a nether portal showing the extra teleport that happens. I have bolded the lines I believe are where the problem is happening as these lines don't print when things are working properly (without last_location on or even deaths without touching the nether portal). I have also included my configs for mv-core and mv-inventories
config.txt
groups.txt
core-config.txt
worlds.txt
----------------------------------------------Entering Nether Portal----------------------------------------------------
[01:34:08 INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'NETHER_PORTAL'
[01:34:08 INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[01:34:08 INFO]: [Multiverse-Core-Debug] Player 'Crosis47' was allowed to go to 'survival_nether' because enforceaccess is off.
[01:34:08 INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival_nether'.
[01:34:08 INFO]: [Multiverse-Inventories-Debug] === Crosis47 traveling from world: survival to world: survival_nether ===
[01:34:08 INFO]: [Multiverse-Inventories-Debug] spawn_location are left unhandled, defaulting to toWorld
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Change affected by 2 fromProfiles and 2 toProfiles
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Persisted: ender_chest, inventory_contents, armor_contents, off_hand, hit_points, remaining_air, maximum_air,
fall_distance, fire_ticks, xp, lvl, total_xp, food_level, exhaustion, saturation, bed_spawn, last_location, potion_effects, spawn_location to WORLD:survival
(ProfileType:SURVIVAL) for player Crosis47
[01:34:08 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival from type: WORLD
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Persisted: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_conte
nts, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand to GROUP:survival (ProfileType:SU
RVIVAL) for player Crosis47
[01:34:08 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:34:08 INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'PLUGIN'
[01:34:08 INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[01:34:08 INFO]: [Multiverse-Core-Debug] Player 'Crosis47' was allowed to go to 'survival' because enforceaccess is off.
[01:34:08 INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival'.
[01:34:08 INFO]: [Multiverse-Inventories-Debug] === Crosis47 traveling from world: survival_nether to world: survival ===
[01:34:08 INFO]: [Multiverse-Inventories-Debug] spawn_location are left unhandled, defaulting to toWorld
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Change affected by 2 fromProfiles and 2 toProfiles
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Persisted: ender_chest, inventory_contents, armor_contents, off_hand, hit_points, remaining_air, maximum_air,
fall_distance, fire_ticks, xp, lvl, total_xp, food_level, exhaustion, saturation, bed_spawn, last_location, potion_effects, spawn_location to WORLD:survival
_nether (ProfileType:SURVIVAL) for player Crosis47
[01:34:08 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival_nether from type: WORLD
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Persisted: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_conte
nts, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand to GROUP:survival (ProfileType:SU
RVIVAL) for player Crosis47
[01:34:08 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:34:08 INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'PLUGIN'
[01:34:08 INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[01:34:08 INFO]: [Multiverse-Core-Debug] Player 'Crosis47' is teleporting to the same world.
[01:34:08 INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival'.
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Updated: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_content
s, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand for Crosis47 for GROUP:survival (Pr
ofileType:SURVIVAL)
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Defaulted: spawn_location for Crosis47 for WORLD:survival (ProfileType:SURVIVAL)
[01:34:08 INFO]: [Multiverse-Inventories-Debug] === Crosis47's WORLD_CHANGE handling complete! ===
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Updated: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_content
s, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand for Crosis47 for GROUP:survival (Pr
ofileType:SURVIVAL)
[01:34:08 INFO]: [Multiverse-Inventories-Debug] Defaulted: spawn_location for Crosis47 for WORLD:survival_nether (ProfileType:SURVIVAL)
[01:34:08 INFO]: [Multiverse-Inventories-Debug] === Crosis47's WORLD_CHANGE handling complete! ===
[01:34:08 INFO]: [Multiverse-Core-Debug] Handling gamemode for player: Crosis47, Changing to SURVIVAL
[01:34:08 INFO]: [Multiverse-Core-Debug] From World: CraftWorld{name=survival}
[01:34:08 INFO]: [Multiverse-Core-Debug] To World: {"MVWorld@227607825":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"survival"}}
[01:34:08 INFO]: [Multiverse-Core-Debug] Handling gamemode for player: Crosis47, Changing to SURVIVAL
[01:34:08 INFO]: [Multiverse-Core-Debug] From World: CraftWorld{name=survival}
[01:34:08 INFO]: [Multiverse-Core-Debug] To World: {"MVWorld@227607825":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"survival"}}
--------------------------------------------Death after trying Nether Portal----------------------------------------------
[01:36:51 INFO]: [Multiverse-Inventories-Debug] === Handling PlayerDeathEvent for: Crosis47 ===
[01:36:51 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival from type: WORLD
[01:36:51 INFO]: [Multiverse-Inventories-Debug] === Finished handling PlayerDeathEvent for: Crosis47! ===
[01:36:51 INFO]: Crosis47 was slain by Zombie
[01:36:51 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
[01:36:53 INFO]: [Multiverse-Core-Debug] Spawning Crosis47 at their bed
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Player did not spawn in the world they were last reported to be in!
[01:36:53 INFO]: [Multiverse-Inventories-Debug] === Crosis47 traveling from world: survival_nether to world: survival ===
[01:36:53 INFO]: [Multiverse-Inventories-Debug] spawn_location are left unhandled, defaulting to toWorld
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Change affected by 2 fromProfiles and 2 toProfiles
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Persisted: ender_chest, inventory_contents, armor_contents, off_hand, hit_points, remaining_air, maximum_air, fall_distance, fire_ticks, xp, lvl, total_xp, food_level, exhaustion, saturation, bed_spawn, last_location, potion_effects, spawn_location to WORLD:survival_nether (ProfileType:SURVIVAL) for player Crosis47
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Persisted: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand to GROUP:survival (ProfileType:SURVIVAL) for player Crosis47
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[01:36:53 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival_nether from type: WORLD
[01:36:53 INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'PLUGIN'
[01:36:53 INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[01:36:53 INFO]: [Multiverse-Core-Debug] Player 'Crosis47' is teleporting to the same world.
[01:36:53 INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival'.
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Updated: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand for Crosis47 for GROUP:survival (ProfileType:SURVIVAL)
[01:36:53 INFO]: [Multiverse-Inventories-Debug] Defaulted: spawn_location for Crosis47 for WORLD:survival (ProfileType:SURVIVAL)
[01:36:53 INFO]: [Multiverse-Inventories-Debug] === Crosis47's WORLD_CHANGE handling complete! ===
[01:36:53 INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
When I enter the overworld from a different portal using last location it teleports me to where I previously was in the overworld not where the portal should teleport me
I too have this issue with the dev build only (v4.0.0), downgrading to (v3.0.0) fixed the issue in 1.16.1.
Thanks I'll try that. I did notice this only started when I downloaded the dev builds which I did mainly to fix world creation in 1.16.1.
UPDATE: I switched out to MVI 3.0.0 and everything is working except for spawn anchors. My worlds are named survival and survival_nether. I set the respawn world as survival and respawn anchors don't work. They lose a charge but I spawn in survival. If I set the respawnworld as nothing then the anchor works as it should however if I don't have an anchor, I respawn in the nether regardless. I assume this is because 3.0.0 has no idea how to handle beds in the nether with respawnworld set. I would think it would just need an IF statement to say if the bedspawn is set in x world, ignore respawnworld y. How complicated that would actually be to fix however, I have no clue. I'm pretty sure it's the code meant to handle this issue that causes my original issue though.
possibly the same issue as mine? #367
this sounds like an issue with logic more than a weird and obscure glitch. at a guess, i'd say that:
last_location
is likely incorrectly enforced when moving between worlds within the same world groupspawn_location
is likely failing when your bed isn't in the world you died in
i haven't looked at the source code, however
checked source code, noticed this line commented out:
other shareables have implemented updateProfile()
, so could this be the case? @nicegamer7
That's not a mistake. The reason for that is because it is called too late to save the player's location. Instead, it is saved in the PlayerTeleportEvent listener.
Well whatever is causing it, it makes MVI completely unusable with 1.16.1 when using last_location. I'd like to say that MVI 3.0.0 is a fix except that it does break those re-spawn anchors. With the new Nether, those are almost a necessity.
Bug was introduced with Build #466.
I find that unlikely, I'll do some more digging.
This is a similar issue to #367, they're most likely related.
I've just posted some builds on the MV Discord server that I think might fix this.
Running Paper 108, just got the build off discord and gave it a shot, didn't work.
Just to confirm, both of you tried the builds that were pinned to #mv-support?
If so, I'll try it again when I get home.
Update: Tried newest builds on the CI and it is still exhibiting the issue. Here is the log excerpt when attempting to enter the Nether portal.
One thing I have noticed is that Inventories seems to be teleporting me to "last_location" immediately after teleporting me to the survival_nether world. It seems like this is definitely a logic issue where MV-Inv doesn't know not to use last_location for a Nether-Portal teleport. It calls a teleport event with cause "NETHER-PORTAL" and immediately calls a teleport event with cause "PLUGIN". That seems like an extra teleport being caused by the Last_Location share.
You can see this happening as there are 2 world changes being handled here when entering the portal.
[02:55:51] [Server thread/INFO]: [Multiverse-Core-Debug] Multiverse Debug ENABLED
[02:56:09] [Server thread/INFO]: [Multiverse-Portals-Debug] Found The TouchedPortal event.
[02:56:09] [Server thread/INFO]: [Multiverse-Core-Debug] EnforceAccess is OFF. Player was allowed in survival_nether
[02:56:09] [Server thread/INFO]: [Multiverse-NetherPortals-Debug] Finding new teleport location for player Crosis47 to world survival_nether
[02:56:09] [Server thread/INFO]: [Multiverse-NetherPortals-Debug] Player 'Crosis47' was allowed to go to 'survival_nether' because enforceaccess is off.
[02:56:09] [Server thread/INFO]: [Multiverse-Portals-Debug] Found The TouchedPortal event.
[02:56:09] [Server thread/INFO]: [Multiverse-Core-Debug] EnforceAccess is OFF. Player was allowed in survival_nether
[02:56:09] [Server thread/INFO]: [Multiverse-NetherPortals-Debug] Finding new teleport location for player Crosis47 to world survival_nether
[02:56:09] [Server thread/INFO]: [Multiverse-NetherPortals-Debug] Player 'Crosis47' was allowed to go to 'survival_nether' because enforceaccess is off.
[02:56:13] [Server thread/INFO]: [Multiverse-Portals-Debug] onPlayerPortal called!
[02:56:13] [Server thread/INFO]: [Multiverse-Portals-Debug] Player was outside of portal, The location has been successfully translated.
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] EnforceAccess is OFF. Player was allowed in survival_nether
[02:56:13] [Server thread/INFO]: [Multiverse-NetherPortals-Debug] Getting new teleport location for player Crosis47 to world survival_nether
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Player 'Crosis47' was allowed to go to 'survival_nether' because enforceaccess is off.
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'NETHER_PORTAL'
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Player 'Crosis47' was allowed to go to 'survival_nether' because enforceaccess is off.
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival_nether'.
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] === Crosis47 traveling from world: survival to world: survival_nether ===
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] spawn_location are left unhandled, defaulting to toWorld
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Change affected by 2 fromProfiles and 2 toProfiles
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share 'last_location' for ungrouped world!
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Persisted: ender_chest, inventory_contents, armor_contents, off_hand, hit_points, remaining_air, maximum_air, fall_distance, fire_ticks, xp, lvl, total_xp, food_level, exhaustion, saturation, bed_spawn, potion_effects, spawn_location to WORLD:survival (ProfileType:SURVIVAL) for player Crosis47
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[02:56:13] [pool-21-thread-1/INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival from type: WORLD
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Persisted: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand to GROUP:survival (ProfileType:SURVIVAL) for player Crosis47
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[02:56:13] [pool-21-thread-1/INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'PLUGIN'
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Player 'Crosis47' was allowed to go to 'survival' because enforceaccess is off.
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival'.
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] === Crosis47 traveling from world: survival_nether to world: survival ===
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] spawn_location are left unhandled, defaulting to toWorld
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Change affected by 2 fromProfiles and 2 toProfiles
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share 'last_location' for ungrouped world!
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Persisted: ender_chest, inventory_contents, armor_contents, off_hand, hit_points, remaining_air, maximum_air, fall_distance, fire_ticks, xp, lvl, total_xp, food_level, exhaustion, saturation, bed_spawn, potion_effects, spawn_location to WORLD:survival_nether (ProfileType:SURVIVAL) for player Crosis47
[02:56:13] [pool-21-thread-1/INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival_nether from type: WORLD
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Persisted: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand to GROUP:survival (ProfileType:SURVIVAL) for player Crosis47
[02:56:13] [pool-21-thread-1/INFO]: [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Ignoring optional share: economy
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Got teleport event for player 'Crosis47' with cause 'PLUGIN'
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Inferred sender 'null' from name 'null', fetched from name 'Crosis47'
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] Player 'Crosis47' is teleporting to the same world.
[02:56:13] [Server thread/INFO]: [Multiverse-Core-Debug] MV-Core is allowing Player 'Crosis47' to go to 'survival'.
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Updated: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand for Crosis47 for GROUP:survival (ProfileType:SURVIVAL)
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Defaulted: spawn_location for Crosis47 for WORLD:survival (ProfileType:SURVIVAL)
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] === Crosis47's WORLD_CHANGE handling complete! ===
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Updated: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand for Crosis47 for GROUP:survival (ProfileType:SURVIVAL)
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] Defaulted: spawn_location for Crosis47 for WORLD:survival_nether (ProfileType:SURVIVAL)
[02:56:13] [Server thread/INFO]: [Multiverse-Inventories-Debug] === Crosis47's WORLD_CHANGE handling complete! ===
[02:56:14] [Server thread/INFO]: [Multiverse-Core-Debug] Handling gamemode for player: Crosis47, Changing to SURVIVAL
[02:56:14] [Server thread/INFO]: [Multiverse-Core-Debug] From World: CraftWorld{name=survival}
[02:56:14] [Server thread/INFO]: [Multiverse-Core-Debug] To World: {"MVWorld@191318233":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"survival"}}
[02:56:14] [Server thread/INFO]: [Multiverse-Core-Debug] Handling gamemode for player: Crosis47, Changing to SURVIVAL
[02:56:14] [Server thread/INFO]: [Multiverse-Core-Debug] From World: CraftWorld{name=survival}
[02:56:14] [Server thread/INFO]: [Multiverse-Core-Debug] To World: {"MVWorld@191318233":{"Gen":"null","Type":"NORMAL","Env":"NORMAL","Name":"survival"}}
[02:57:19] [Server thread/INFO]: Multiverse Debug mode is OFF
Is anyone still experiencing this issue on 1.16.3 with optionals_for_ungrouped_worlds
set to true?
I still experience this issue on 1.16.3 with all newest builds of Multiverse regardless of optionals_for_ungrouped_worlds set to true or false. I generally have it set to false but this issue occurs either way. The only thing I haven't tried is rebuilding all my configs from scratch but I really don't wanna lose my settings and clear people's inventories accidentally.
Same here. I'm also having the issue on Paper 1.16.3 with the latest builds, regardless of optionals_for_ungrouped_worlds
.
To get rid of the issue, I use MV-Inv 3.0 which doesn't have the issue. However, the respawn anchor blocks don't work in 3.0.
Closing this as it should be fixed on latest dev build. If there is any more issue, do open now issue. Thanks!
OK! I have some great news! Aaaand also some bad news...
So , experimental build posted by NiceGamer fixes the original issue here however, Respawn Anchors still do not work with it so it essentially makes it work just as I'm still using MVInv 3.0. Which is still better than actually using 3.0 so there's that. Here's the debug log of my death in the nether with a charged anchor pasted at the end of this comment. Now judging by what I'm seeing here, and from what I've seen you guys doing elsewhere in the code. I don't know Java very well but I would think you should be able to add some logic in there that says:
On Player death
If World BedRESPAWN = True AND bed_spawn IS NOT NULL Then
Ignore SpawnWorld 'spawn at BedSpawn regardless of world you died in
This would make respawn anchors work without any major issues that I can think of. The only other way I see them working easily with the limited knowledge I have of the code is if there is a way to tell inventories to use the bedspawn universally as an optional share for a group.
2020-10-05 22:51:37 [INFO] [Multiverse-Inventories-Debug] === Handling PlayerDeathEvent for: Crosis47 ===
2020-10-05 22:51:37 [INFO] [Multiverse-Inventories-Debug] === Finished handling PlayerDeathEvent for: Crosis47! ===
2020-10-05 22:51:37 [INFO] [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival_nether from type: WORLD
2020-10-05 22:51:37 [INFO] [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] === Crosis47 traveling from world: survival_nether to world: survival ===
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] spawn_location are left unhandled, defaulting to toWorld
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Change affected by 2 fromProfiles and 1 toProfiles
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Ignoring optional share 'last_location' for ungrouped world!
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Ignoring optional share: economy
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Persisted: ender_chest, inventory_contents, armor_contents, off_hand, hit_points, remaining_air, maximum_air, fall_distance, fire_ticks, xp, lvl, total_xp, food_level, exhaustion, saturation, bed_spawn, potion_effects, spawn_location to WORLD:survival_nether (ProfileType:SURVIVAL) for player Crosis47
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Ignoring optional share: economy
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/worlds/survival_nether from type: WORLD
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Persisted: hit_points, food_level, saturation, exhaustion, xp, total_xp, lvl, inventory_contents, armor_contents, bed_spawn, maximum_air, remaining_air, fall_distance, fire_ticks, potion_effects, last_location, ender_chest, off_hand to GROUP:survival (ProfileType:SURVIVAL) for player Crosis47
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] Defaulted: [spawn_location] for Crosis47 for WORLD:survival (ProfileType:SURVIVAL)
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] === Crosis47 complete for WorldChangeShareHandlingEvent ===
2020-10-05 22:51:40 [INFO] [Multiverse-Inventories-Debug] got data folder: plugins/Multiverse-Inventories/groups/survival from type: GROUP
It's expected that anchors won't work (we haven't added support yet, we will very soon). However, it's really encouraging to hear it's working for you! Thank you for letting us know!
for respawn anchors to work get this test build Multiverse/Multiverse-Core#2397 (comment)
tho there is still issues with the charge not decreasing.
I'd like to keep this issue open until the fix is merged and available through our CI builds (just so we don't forget about it).
I actually thought this was merged into the newest builds. I have switched to the more recent build #488 and the issue appears to be fixed in that build as well. I suppose it's possible that some change in a recent Paper build or MV-Core change may have actually fixed the issue.
This should be fixed in our latest CI build. It'd be nice if someone could confirm.