From 5402b214b31af60bc96cd4e47e9211715c3e99f5 Mon Sep 17 00:00:00 2001 From: Lane Kolbly Date: Fri, 28 Jul 2017 11:59:21 -0500 Subject: Check for intersection between placed blocks and entities. (#3850) * Check for intersection between placed blocks and entities. + Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks. * Factored block-entity placement checking into another function in cPlayer. - Removed vector min/max functions * Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity. + Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement. --- src/ChunkDef.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/ChunkDef.h') diff --git a/src/ChunkDef.h b/src/ChunkDef.h index 41ba44417..bf0f20514 100644 --- a/src/ChunkDef.h +++ b/src/ChunkDef.h @@ -402,6 +402,9 @@ struct sSetBlock /** Returns the absolute Z coord of the stored block. */ int GetZ(void) const { return m_RelZ + cChunkDef::Width * m_ChunkZ; } + + /** Returns the absolute position of the stored block. */ + Vector3i GetPos(void) const { return Vector3i(GetX(), GetY(), GetZ()); } }; typedef std::list sSetBlockList; -- cgit v1.2.3