]> git.lizzy.rs Git - minetest.git/blobdiff - src/itemdef.h
Fix crash when a error occurs in a globalstep callback
[minetest.git] / src / itemdef.h
index 4a9e16966f668e20fdb7b85adb705e95ea833b58..f993fdbac490181ab7627ea00f680e91f145bb4e 100644 (file)
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <iostream>
 #include <set>
 #include "itemgroup.h"
+#include "sound.h"
 class IGameDef;
 struct ToolCapabilities;
 
@@ -62,12 +63,12 @@ struct ItemDefinition
        */
        s16 stack_max;
        bool usable;
-       // If true, don't use node placement prediction
-       bool rightclickable;
        bool liquids_pointable;
        // May be NULL. If non-NULL, deleted by destructor
        ToolCapabilities *tool_capabilities;
        ItemGroupList groups;
+       SimpleSoundSpec sound_place;
+       f32 range;
 
        // Client shall immediately place this node when player places the item.
        // Server will update the precise end result a moment later.
@@ -82,7 +83,7 @@ struct ItemDefinition
        ItemDefinition& operator=(const ItemDefinition &def);
        ~ItemDefinition();
        void reset();
-       void serialize(std::ostream &os) const;
+       void serialize(std::ostream &os, u16 protocol_version) const;
        void deSerialize(std::istream &is);
 private:
        void resetInitial();
@@ -111,7 +112,7 @@ class IItemDefManager
                IGameDef *gamedef) const=0;
 #endif
 
-       virtual void serialize(std::ostream &os)=0;
+       virtual void serialize(std::ostream &os, u16 protocol_version)=0;
 };
 
 class IWritableItemDefManager : public IItemDefManager
@@ -148,7 +149,7 @@ class IWritableItemDefManager : public IItemDefManager
        virtual void registerAlias(const std::string &name,
                        const std::string &convert_to)=0;
 
-       virtual void serialize(std::ostream &os)=0;
+       virtual void serialize(std::ostream &os, u16 protocol_version)=0;
        virtual void deSerialize(std::istream &is)=0;
 
        // Do stuff asked by threads that can only be done in the main thread