summaryrefslogtreecommitdiffstats
path: root/src/Entities/Minecart.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities/Minecart.cpp')
-rw-r--r--src/Entities/Minecart.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/Entities/Minecart.cpp b/src/Entities/Minecart.cpp
index 123965916..c8dadbcdd 100644
--- a/src/Entities/Minecart.cpp
+++ b/src/Entities/Minecart.cpp
@@ -24,17 +24,17 @@
class cMinecartAttachCallback
{
public:
- cMinecartAttachCallback(cMinecart * a_Minecart, cEntity * a_Attachee) :
+ cMinecartAttachCallback(cMinecart & a_Minecart, cEntity * a_Attachee) :
m_Minecart(a_Minecart), m_Attachee(a_Attachee)
{
}
- bool operator () (cEntity & a_Entity)
+ bool operator()(cEntity & a_Entity)
{
- // Check if minecart is empty and if given entity is a mob
- if ((m_Attachee == nullptr) && (a_Entity.IsMob()))
+ // Check if minecart is empty and if given entity is a mob:
+ if ((m_Attachee == nullptr) && a_Entity.IsMob())
{
- // if so, attach to minecart and return true
+ // If so, attach to minecart and stop iterating:
a_Entity.AttachTo(m_Minecart);
return true;
}
@@ -42,7 +42,8 @@ public:
}
protected:
- cMinecart * m_Minecart;
+
+ cMinecart & m_Minecart;
cEntity * m_Attachee;
};
@@ -1084,7 +1085,7 @@ bool cMinecart::TestEntityCollision(NIBBLETYPE a_RailMeta)
}
// Collision was true, create bounding box for minecart, call attach callback for all entities within that box
- cMinecartAttachCallback MinecartAttachCallback(this, m_Attachee);
+ cMinecartAttachCallback MinecartAttachCallback(*this, m_Attachee);
Vector3d MinecartPosition = GetPosition();
cBoundingBox bbMinecart(Vector3d(MinecartPosition.x, floor(MinecartPosition.y), MinecartPosition.z), GetWidth() / 2, GetHeight());
m_World->ForEachEntityInBox(bbMinecart, MinecartAttachCallback);
@@ -1350,8 +1351,8 @@ void cRideableMinecart::OnRightClicked(cPlayer & a_Player)
m_Attachee->Detach();
}
- // Attach the player to this minecart
- a_Player.AttachTo(this);
+ // Attach the player to this minecart:
+ a_Player.AttachTo(*this);
}