Pocketmine-mp: Block bounding boxes and collision boxes

Created on 16 Dec 2016  路  5Comments  路  Source: pmmp/PocketMine-MP

Issue description

According to PocketMine-MP, there are a large number of blocks which do not have any bounding box. This includes blocks such as tallgrass, water, signs, and many more.

This is plain wrong.

_All_ blocks have bounding boxes. The only exception to that rule is air, which is a null block. What those blocks don't have is _collision_ boxes, i.e. entities can walk through them.

This issue came to my eye while working on a basic pressure plate implementation. Pressure plates would have to be implemented by making them nonsolid but with an entity collision, like how water works. The issue with this is that because the server thinks these blocks have no bounding box, the intersection of an entity bounding box with that of, for example, a pressure plate, cannot be detected.

The best that can currently be done is to fire Block->onEntityCollide() when the entity enters the block's allocated full block area. That is _wrong_. It should be done when the entity's bounding box intersects with the pressure plate's, otherwise you would be able to trigger pressure plates by hovering above them.

OS and versions

Core Gameplay Obsolete

Most helpful comment

All 5 comments

TODO: implement complex bounding boxes for stairs and other blocks with non-cuboid shapes.

Issues arising from this problem include lava setting you on fire when you're stood next to it and not in it.

Can you not disable the Movement check temporarily?

This issue is so stressing..and it's still not fixed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MisteFr picture MisteFr  路  18Comments

mal0ne-23 picture mal0ne-23  路  32Comments

zKoz210 picture zKoz210  路  23Comments

jarne picture jarne  路  20Comments

VCraftMCPE picture VCraftMCPE  路  20Comments