forked from Mirrorlandia_minetest/minetest
itemgroup.h and ItemGroupList typedef
This commit is contained in:
parent
0b21618a05
commit
07ed57476f
@ -724,7 +724,7 @@ void Oerkki1SAO::punch(ServerActiveObject *puncher, float time_from_last_punch)
|
||||
m_speed_f += dir*12*BS;
|
||||
|
||||
// "Material" groups of the object
|
||||
std::map<std::string, int> groups;
|
||||
ItemGroupList groups;
|
||||
groups["snappy"] = 1;
|
||||
groups["choppy"] = 1;
|
||||
groups["fleshy"] = 3;
|
||||
@ -1419,7 +1419,7 @@ void MobV2SAO::punch(ServerActiveObject *puncher, float time_from_last_punch)
|
||||
|
||||
|
||||
// "Material" groups of the object
|
||||
std::map<std::string, int> groups;
|
||||
ItemGroupList groups;
|
||||
groups["snappy"] = 1;
|
||||
groups["choppy"] = 1;
|
||||
groups["fleshy"] = 3;
|
||||
|
@ -25,23 +25,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <set>
|
||||
#include <map>
|
||||
#include "itemgroup.h"
|
||||
class IGameDef;
|
||||
struct ToolCapabilities;
|
||||
|
||||
/*
|
||||
Some helpers
|
||||
*/
|
||||
|
||||
static inline int itemgroup_get(const std::map<std::string, int> &groups,
|
||||
const std::string &name)
|
||||
{
|
||||
std::map<std::string, int>::const_iterator i = groups.find(name);
|
||||
if(i == groups.end())
|
||||
return 0;
|
||||
return i->second;
|
||||
}
|
||||
|
||||
/*
|
||||
Base item definition
|
||||
*/
|
||||
@ -78,7 +65,7 @@ struct ItemDefinition
|
||||
bool liquids_pointable;
|
||||
// May be NULL. If non-NULL, deleted by destructor
|
||||
ToolCapabilities *tool_capabilities;
|
||||
std::map<std::string, int> groups;
|
||||
ItemGroupList groups;
|
||||
|
||||
/*
|
||||
Cached stuff
|
||||
|
@ -154,7 +154,7 @@ void ContentFeatures::serialize(std::ostream &os)
|
||||
writeU8(os, 2); // version
|
||||
os<<serializeString(name);
|
||||
writeU16(os, groups.size());
|
||||
for(std::map<std::string, int>::const_iterator
|
||||
for(ItemGroupList::const_iterator
|
||||
i = groups.begin(); i != groups.end(); i++){
|
||||
os<<serializeString(i->first);
|
||||
writeS16(os, i->second);
|
||||
|
@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#ifndef SERVER
|
||||
#include "tile.h"
|
||||
#endif
|
||||
#include "itemgroup.h"
|
||||
class IItemDefManager;
|
||||
class ITextureSource;
|
||||
class IGameDef;
|
||||
@ -148,7 +149,7 @@ struct ContentFeatures
|
||||
*/
|
||||
|
||||
std::string name; // "" = undefined node
|
||||
std::map<std::string, int> groups; // Same as in itemdef
|
||||
ItemGroupList groups; // Same as in itemdef
|
||||
|
||||
// Visual definition
|
||||
enum NodeDrawType drawtype;
|
||||
|
@ -182,7 +182,7 @@ void ServerRemotePlayer::punch(ServerActiveObject *puncher,
|
||||
}
|
||||
|
||||
// "Material" groups of the player
|
||||
std::map<std::string, int> groups;
|
||||
ItemGroupList groups;
|
||||
groups["choppy"] = 2;
|
||||
groups["fleshy"] = 3;
|
||||
|
||||
|
@ -68,7 +68,7 @@ void ToolCapabilities::deSerialize(std::istream &is)
|
||||
}
|
||||
}
|
||||
|
||||
DigParams getDigParams(const std::map<std::string, int> &groups,
|
||||
DigParams getDigParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp, float time_from_last_punch)
|
||||
{
|
||||
//infostream<<"getDigParams"<<std::endl;
|
||||
@ -123,13 +123,13 @@ DigParams getDigParams(const std::map<std::string, int> &groups,
|
||||
return DigParams(result_diggable, result_time, wear_i);
|
||||
}
|
||||
|
||||
DigParams getDigParams(const std::map<std::string, int> &groups,
|
||||
DigParams getDigParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp)
|
||||
{
|
||||
return getDigParams(groups, tp, 1000000);
|
||||
}
|
||||
|
||||
HitParams getHitParams(const std::map<std::string, int> &groups,
|
||||
HitParams getHitParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp, float time_from_last_punch)
|
||||
{
|
||||
DigParams digprop = getDigParams(groups, tp,
|
||||
@ -145,7 +145,7 @@ HitParams getHitParams(const std::map<std::string, int> &groups,
|
||||
return HitParams(hp, wear);
|
||||
}
|
||||
|
||||
HitParams getHitParams(const std::map<std::string, int> &groups,
|
||||
HitParams getHitParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp)
|
||||
{
|
||||
return getHitParams(groups, tp, 1000000);
|
||||
|
@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include "itemgroup.h"
|
||||
|
||||
struct ToolGroupCap
|
||||
{
|
||||
@ -84,10 +85,10 @@ struct DigParams
|
||||
{}
|
||||
};
|
||||
|
||||
DigParams getDigParams(const std::map<std::string, int> &groups,
|
||||
DigParams getDigParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp, float time_from_last_punch);
|
||||
|
||||
DigParams getDigParams(const std::map<std::string, int> &groups,
|
||||
DigParams getDigParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp);
|
||||
|
||||
struct HitParams
|
||||
@ -101,10 +102,10 @@ struct HitParams
|
||||
{}
|
||||
};
|
||||
|
||||
HitParams getHitParams(const std::map<std::string, int> &groups,
|
||||
HitParams getHitParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp, float time_from_last_punch);
|
||||
|
||||
HitParams getHitParams(const std::map<std::string, int> &groups,
|
||||
HitParams getHitParams(const ItemGroupList &groups,
|
||||
const ToolCapabilities *tp);
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user