From c5603ce064d7e4e897aa92d6f43d407802ae3687 Mon Sep 17 00:00:00 2001 From: STRWarrior Date: Sun, 12 Jan 2014 15:27:50 +0100 Subject: EmptyMinecarts should be able to get a block inside of them. --- src/Entities/Minecart.cpp | 6 ++++-- src/Entities/Minecart.h | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/Entities') diff --git a/src/Entities/Minecart.cpp b/src/Entities/Minecart.cpp index f75e23d8b..5a9217c9e 100644 --- a/src/Entities/Minecart.cpp +++ b/src/Entities/Minecart.cpp @@ -413,8 +413,10 @@ void cMinecart::DoTakeDamage(TakeDamageInfo & TDI) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // cEmptyMinecart: -cEmptyMinecart::cEmptyMinecart(double a_X, double a_Y, double a_Z) : - super(mpNone, a_X, a_Y, a_Z) +cEmptyMinecart::cEmptyMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height) : + super(mpNone, a_X, a_Y, a_Z), + m_Content(a_Content), + m_Height(a_Height) { } diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h index b1b48be4e..87d375c68 100644 --- a/src/Entities/Minecart.h +++ b/src/Entities/Minecart.h @@ -77,10 +77,16 @@ class cEmptyMinecart : public: CLASS_PROTODEF(cEmptyMinecart); - cEmptyMinecart(double a_X, double a_Y, double a_Z); + cEmptyMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height); + cItem GetContent(void) const {return m_Content;} + int GetBlockHeight(void) const {return m_Height;} // cEntity overrides: virtual void OnRightClicked(cPlayer & a_Player) override; +protected: + + const cItem & m_Content; + int m_Height; } ; -- cgit v1.2.3 From f11427e8cd5506204958eec68a8ac2a9152df108 Mon Sep 17 00:00:00 2001 From: STRWarrior Date: Sun, 12 Jan 2014 18:04:41 +0100 Subject: Renamed cEmptyMinecart to cRideableMinecart --- src/Entities/Minecart.cpp | 7 ++++--- src/Entities/Minecart.h | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src/Entities') diff --git a/src/Entities/Minecart.cpp b/src/Entities/Minecart.cpp index 5a9217c9e..19642efba 100644 --- a/src/Entities/Minecart.cpp +++ b/src/Entities/Minecart.cpp @@ -45,6 +45,7 @@ void cMinecart::SpawnOn(cClientHandle & a_ClientHandle) } } a_ClientHandle.SendSpawnVehicle(*this, 10, SubType); // 10 = Minecarts, SubType = What type of Minecart + a_ClientHandle.SendEntityMetadata(*this); } @@ -411,9 +412,9 @@ void cMinecart::DoTakeDamage(TakeDamageInfo & TDI) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// cEmptyMinecart: +// cRideableMinecart: -cEmptyMinecart::cEmptyMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height) : +cRideableMinecart::cRideableMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height) : super(mpNone, a_X, a_Y, a_Z), m_Content(a_Content), m_Height(a_Height) @@ -424,7 +425,7 @@ cEmptyMinecart::cEmptyMinecart(double a_X, double a_Y, double a_Z, const cItem & -void cEmptyMinecart::OnRightClicked(cPlayer & a_Player) +void cRideableMinecart::OnRightClicked(cPlayer & a_Player) { if (m_Attachee != NULL) { diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h index 87d375c68..a646132ab 100644 --- a/src/Entities/Minecart.h +++ b/src/Entities/Minecart.h @@ -69,15 +69,15 @@ protected: -class cEmptyMinecart : +class cRideableMinecart : public cMinecart { typedef cMinecart super; public: - CLASS_PROTODEF(cEmptyMinecart); + CLASS_PROTODEF(cRideableMinecart); - cEmptyMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height); + cRideableMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height); cItem GetContent(void) const {return m_Content;} int GetBlockHeight(void) const {return m_Height;} -- cgit v1.2.3 From c7d556afafe6163599923266f5832840d3674495 Mon Sep 17 00:00:00 2001 From: STRWarrior Date: Sun, 12 Jan 2014 18:15:54 +0100 Subject: Fixed server crash. --- src/Entities/Minecart.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Entities') diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h index a646132ab..08e22c546 100644 --- a/src/Entities/Minecart.h +++ b/src/Entities/Minecart.h @@ -85,7 +85,7 @@ public: virtual void OnRightClicked(cPlayer & a_Player) override; protected: - const cItem & m_Content; + cItem m_Content; int m_Height; } ; -- cgit v1.2.3 From ca835a05650cb1a722125fa438a05f70f8b3c2b8 Mon Sep 17 00:00:00 2001 From: STRWarrior Date: Thu, 16 Jan 2014 16:54:22 +0100 Subject: Changed GetContent function. --- src/Entities/Minecart.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Entities') diff --git a/src/Entities/Minecart.h b/src/Entities/Minecart.h index 08e22c546..6aec8a834 100644 --- a/src/Entities/Minecart.h +++ b/src/Entities/Minecart.h @@ -79,7 +79,7 @@ public: cRideableMinecart(double a_X, double a_Y, double a_Z, const cItem & a_Content, int a_Height); - cItem GetContent(void) const {return m_Content;} + const cItem & GetContent(void) const {return m_Content;} int GetBlockHeight(void) const {return m_Height;} // cEntity overrides: virtual void OnRightClicked(cPlayer & a_Player) override; -- cgit v1.2.3