(This issue might be related to what i've shown @dktapps a while ago, where i was stuck inside a bed and did not take any damage, because my position didn't change)
When being, for example in the default level, and being teleported to another level via teleport(Position), you still take damage from a block that damages a player until you move.
Example:
teleport(Position)), but DO NOT MOVEWhat i guess is happening is that on teleport() without any movement, the Level of the passed Position object is not updated, OR in the position of the player. The damage instantly stops when moving just the slightest, for example turning the head.
If the issue is not reproducible without plugins:
Please use gist or anything else to add other files and add links here
...
well, this is an interesting case I didn't consider...
Blocks around the entity don't get recomputed until either
a) they move, or
b) a block nearby them gets updated.
Since, as you say, you haven't moved there, those recorded colliding blocks won't get recalculated on teleport. This shouldn't be too difficult to fix.
Amusingly the cactus actually continues to attack you after respawning in some cases. Nice find.
Most helpful comment
Amusingly the cactus actually continues to attack you after respawning in some cases. Nice find.