Updated-NoCheatPlus / NoCheatPlus

Anti-cheating plugin for Minecraft (1.5-1.20, Bukkit/Spigot)
https://ci.codemc.io/job/Updated-NoCheatPlus/job/Updated-NoCheatPlus/
GNU General Public License v3.0
482 stars 100 forks source link

Visible check ignoring non-fullbounds blocks. #138

Open Lysandr0 opened 3 years ago

Lysandr0 commented 3 years ago

Full output of /ncp version

ncpver

Describe the issue

As the title says, the visible check doesn't seem to be running for all blocks that are not full bounds (1.0,1.0,1.0)/passable.

How to reproduce the issue

Check video.

Extra links/Videos (Including debug logs)

https://www.dropbox.com/s/zhadczaoseyfg0y/BI_Visible_test.mov?dl=0

Any possible config options changed or plugins that may cause interference?

Default config.

Lysandr0 commented 2 years ago


Caused by InteractRayTracing#doesCollide(): https://github.com/Updated-NoCheatPlus/NoCheatPlus/blob/bee2c1e34921d80ec12fdef86ab18aae6cada588/NCPCore/src/main/java/fr/neatmonster/nocheatplus/utilities/collision/InteractRayTracing.java#L112 NCP will basically ignore anything that isn't full bounds, interaction-wise. (even passable blocks which are full bounds but don't allow interactions to go through, like rose bushes).

Removing it however does have a lot of side-effects. Multi-bounds blocks are especially problematic: https://www.dropbox.com/s/0radaxnedd0aruk/Visible_false_pos.mov?dl=0