From 5eff323db2c9ebe18a354fba18359343426c60a7 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Wed, 27 Feb 2013 10:02:06 +0000 Subject: [PATCH] Minecart entity now supports IsA() self-identification git-svn-id: http://mc-server.googlecode.com/svn/trunk@1225 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/Entity.h | 9 +++++---- source/Minecart.h | 7 +++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/source/Entity.h b/source/Entity.h index f4f96df23..d18896ee7 100644 --- a/source/Entity.h +++ b/source/Entity.h @@ -11,7 +11,7 @@ -// Place this macro in the header of each cEntity descendant class and you're done :) +// Place this macro in the public section of each cEntity descendant class and you're done :) #define CLASS_PROTODEF(classname) \ virtual bool IsA(const char * a_ClassName) const override\ { \ @@ -84,9 +84,10 @@ public: eEntityType GetEntityType(void) const { return m_EntityType; } - bool IsPlayer(void) const { return (m_EntityType == etPlayer); } - bool IsPickup(void) const { return (m_EntityType == etPickup); } - bool IsMob (void) const { return (m_EntityType == etMob); } + bool IsPlayer (void) const { return (m_EntityType == etPlayer); } + bool IsPickup (void) const { return (m_EntityType == etPickup); } + bool IsMob (void) const { return (m_EntityType == etMob); } + bool IsMinecart(void) const { return (m_EntityType == etMinecart); } /// Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true) virtual bool IsA(const char * a_ClassName) const; diff --git a/source/Minecart.h b/source/Minecart.h index 72270df85..d46b80b3f 100644 --- a/source/Minecart.h +++ b/source/Minecart.h @@ -21,13 +21,16 @@ class cMinecart : typedef cEntity super; public: + CLASS_PROTODEF(cMinecart); + enum ePayload { - mpNone, // Empty minecart, ridable by player or mobs - mpChest, // Minecart-with-chest, can store a grid of 3*8 items + mpNone, // Empty minecart, ridable by player or mobs + mpChest, // Minecart-with-chest, can store a grid of 3*8 items mpFurnace, // Minecart-with-furnace, can be powered // TODO: Other 1.5 features: hopper, tnt, dispenser, spawner } ; + cMinecart(ePayload a_Payload, double a_X, double a_Y, double a_Z); // cEntity overrides: