DevotedMC / Bastion

Minecraft plugin that allows players to place Citadel-reinforced blocks that stop block placement or enderpearl teleportation. Updated for Spigot 1.12
http://www.devotedmc.com
Other
2 stars 10 forks source link

Multiple pearling issues #48

Open GavJenks opened 7 years ago

GavJenks commented 7 years ago

1) Standing in a bastion field that blocks pearls (blocks: true, midairblock: false), throwing a pearl that hits a PLAYER (specifically, myself) also in the field will still teleport me, while hitting a BLOCK is prevented as intended. (I tried other entities after that, but it did block it correctly when going through items or minecarts)

2) Standing in a field that has "midairblock: false" in the config, I throw a pearl outside the field and it lands far far away from any bastions, and is still blocked at the moment of impact 50 meters away from any bastions? Seems like it should function like vanilla in this case.

3) Standing outside a field that has pearl blocking on but "midairblock: false", and attempting to throw a pearl through it to the other unprotected side, causes the pearl to seemingly get pulled down to the ground as soon as it hits the field, and teleports me just outside of its border at that spot. It seems like it definitely SHOULD just have no effect in this situation (i.e. it should fly through and land on other side and teleport there). That feels like what would be expected with "midairblock: true" instead, at best, although even then shouldn't it just fail, not teleport you to the edge?

ProgrammerDan commented 7 years ago

For #2 -- this is "expected" behavior -- I put it in quotes, because it is expected to me but isn't well published. If blocking is enabled, it's symmetric -- you can neither leave nor enter a bastion field, unless you have permission. It should be split out into two separate config options, for clarity.

I'm checking into the others, those are good finds potentially!

ProgrammerDan commented 7 years ago

Ok, for 3 I'll have to spend some more time on it to confirm, not seeing anything obvious after tracing the code paths.

For 1, I suspect that the playerTeleport method isn't getting called in that case ... which is annoying. I'll look into it more.