Multiverse / Multiverse-SignPortals

Signs as Teleporters!
BSD 3-Clause "New" or "Revised" License
28 stars 22 forks source link

SignPortals and WorldInventories #20

Open NobodysNightmare opened 12 years ago

NobodysNightmare commented 12 years ago

Hello, I am using SignPortals to warp between a creative and a survival world. To prevent items from being carried from creative to survival I use WorldInvetories (https://github.com/Drayshak/WorldInventories).

When teleporting from one world to another via /mv tp world_name everything is fine. When teleporting using a SIgnPortal my inventory gets displayed wrong (items from old world are displayed). However this is only a display issue.

When trying to resort the inventory, the game will update to the correct inventory.

As this problem only occurs using SignPortals and not "/mv tp"-porting i suspect it to be an issue of SIgnPortals.

If my explanations were not helpful, I might make a video for you ^^

Best regards Nobody

fernferret commented 12 years ago

I'm pretty sure this is an old bug that's been fixed. Could you supply the info requested here.

NobodysNightmare commented 12 years ago

Output of /mv version -r: https://gist.github.com/1675790

Startup log: https://gist.github.com/1675799

fernferret commented 12 years ago

Interesting. Will have a look shortly. I'll have to test this one a bit. Any details (specific steps) to reproduce (preferably every time) would be helpful.

Thanks.

NobodysNightmare commented 12 years ago

It happens every time for me, when i use SIgnPortals. I will update to Bukkit RB the next few days and try to provide you with minimalistic steps to reproduce (if you are not quicker than me ;))

BR

fernferret commented 12 years ago

Is this still present? I've kinda been a slacker with SignPortals lately. Wanted to close out some issues.

NobodysNightmare commented 12 years ago

I did update Multiverse (core, sign, nether) and Bukkit:

The problem is still present: Teleporting via /mv tp WORLD_NAME gives me the correct inventory Teleporting via SignPortal gives me the inventory from the last world, until i click into my inventory

NobodysNightmare commented 12 years ago

I have to admit that, after reading small portions of the code, I do not see why SignPortals should be able to produce a different result than MV-TP, as both seem to rely on the safelyTeleport-method of the SafeTTeleporter-Interface, which should in both cases be backed by the SimpleSafeTTeleporter...

The only difference I can see is, that the teleportation for SignPortals is done, while processing a PlayerInteractEvent. I would assume that the cause is some kind of bad call-order. But as I did not look into the WorldInventories code, I cannot definitely say if you (= SignPortals) are the one to fix that or if it is a fault in WorldInventories...

I am sorry that I cannot give you better hints or even a patch :/