summaryrefslogtreecommitdiffstats
path: root/source/cFurnaceEntity.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/cFurnaceEntity.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/source/cFurnaceEntity.h b/source/cFurnaceEntity.h
new file mode 100644
index 000000000..a1ab051ba
--- /dev/null
+++ b/source/cFurnaceEntity.h
@@ -0,0 +1,43 @@
+#pragma once
+
+#include "cBlockEntity.h"
+#include "cWindowOwner.h"
+#include "FileDefine.h"
+
+namespace Json
+{
+ class Value;
+}
+
+class cClientHandle;
+class cServer;
+class cItem;
+class cNBTData;
+class cFurnaceEntity : public cBlockEntity, public cWindowOwner
+{
+public:
+ cFurnaceEntity(int a_X, int a_Y, int a_Z);
+ virtual ~cFurnaceEntity();
+ virtual void Destroy();
+
+ void WriteToFile(FILE* a_File);
+ bool LoadFromFile(FILE* a_File);
+
+ bool LoadFromJson( const Json::Value& a_Value );
+ void SaveToJson( Json::Value& a_Value );
+
+ bool Tick( float a_Dt );
+ virtual void UsedBy( cPlayer & a_Player );
+
+ bool StartCooking();
+
+ void ResetCookTimer();
+private:
+ cItem* m_Items;
+ cItem* m_CookingItem;
+ float m_CookTime;
+ float m_TimeCooked;
+
+ float m_BurnTime;
+ float m_TimeBurned;
+}; \ No newline at end of file