Commented out debug statements again
[oweals/minetest.git] / src / player.h
index 78ca149488370fe0424c3f0e237acad9367792a0..13cffa205a6986f802b77d0bd2fac2f7f486badd 100644 (file)
@@ -62,7 +62,20 @@ public:
                return m_position;
        }
 
-       virtual void setPosition(v3f position)
+       v3s16 getLightPosition() const
+       {
+               return floatToInt(m_position + v3f(0,BS+BS/2,0), BS);
+       }
+
+       v3f getEyePosition()
+       {
+               // This is at the height of the eyes of the current figure
+               // return m_position + v3f(0, BS+BS/2, 0);
+               // This is more like in minecraft
+               return m_position + v3f(0,BS+(5*BS)/8,0);
+       }
+
+       virtual void setPosition(const v3f &position)
        {
                m_position = position;
        }
@@ -92,6 +105,15 @@ public:
                snprintf(m_name, PLAYERNAME_SIZE, "%s", name);
        }
 
+       virtual void wieldItem(u16 item);
+       virtual const InventoryItem *getWieldItem() const
+       {
+               const InventoryList *list = inventory.getList("main");
+               if (list)
+                       return list->getItem(m_selected_item);
+               return NULL;
+       }
+
        const char * getName()
        {
                return m_name;
@@ -120,6 +142,7 @@ public:
        bool in_water_stable;
        bool is_climbing;
        bool swimming_up;
+       bool is_frozen;
        
        Inventory inventory;
        // Actual inventory is backed up here when creative mode is used
@@ -133,6 +156,7 @@ public:
 
 protected:
        char m_name[PLAYERNAME_SIZE];
+       u16 m_selected_item;
        f32 m_pitch;
        f32 m_yaw;
        v3f m_speed;
@@ -206,7 +230,7 @@ public:
                return m_box;
        }
 
-       void setPosition(v3f position)
+       void setPosition(const v3f &position)
        {
                m_oldpos = m_showpos;