summaryrefslogtreecommitdiffstats
path: root/src/Entities/Pawn.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities/Pawn.h')
-rw-r--r--src/Entities/Pawn.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Entities/Pawn.h b/src/Entities/Pawn.h
index 706c51e49..222e8f3b8 100644
--- a/src/Entities/Pawn.h
+++ b/src/Entities/Pawn.h
@@ -70,6 +70,21 @@ public:
/** Returns the entity effect, if it is currently applied or nullptr if not. */
cEntityEffect * GetEntityEffect(cEntityEffect::eType a_EffectType) const;
+ // tolua_begin
+
+ static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, const Vector3i a_MinBoxCorner, const Vector3i a_MaxBoxCorner);
+
+ static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, const cBoundingBox a_BoundingBox);
+
+ /** Used by enderman and chorus fruit.
+ Checks for valid destinations in a cube of length 2 * a_HalfCubeWidth centred at a_Centre.
+ Returns true and places destination in a_Destination if successful.
+ Returns false if destination could be found after a_NumTries attempts.
+ Details at: https://minecraft.fandom.com/wiki/Enderman#Teleportation. */
+ static bool FindTeleportDestination(cWorld & a_World, const int a_HeightRequired, const unsigned int a_NumTries, Vector3d & a_Destination, Vector3i a_Centre, const int a_HalfCubeWidth);
+
+ // tolua_end
+
protected:
typedef std::map<cEntityEffect::eType, std::unique_ptr<cEntityEffect>> tEffectMap;