X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fitemdef.h;h=f993fdbac490181ab7627ea00f680e91f145bb4e;hb=45589fae58157c8a66c640a1db5795a42a86fc1c;hp=ae36008687737ee0ceb1e5af9c7509bc81a9a919;hpb=365c169b43f61b7f957bdd302b3cf9a837cabec1;p=dragonfireclient.git diff --git a/src/itemdef.h b/src/itemdef.h index ae3600868..f993fdbac 100644 --- a/src/itemdef.h +++ b/src/itemdef.h @@ -1,7 +1,7 @@ /* -Minetest-c55 -Copyright (C) 2010-2011 celeron55, Perttu Ahola -Copyright (C) 2011 Kahrl +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola +Copyright (C) 2013 Kahrl This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include #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