#include "irrlichttypes.h"
#include <string>
#include <iostream>
-#include <map>
#include "itemgroup.h"
struct ToolGroupCap
{
- std::map<int, float> times;
- int maxlevel;
- int uses;
+ std::unordered_map<int, float> times;
+ int maxlevel = 1;
+ int uses = 20;
- ToolGroupCap():
- maxlevel(1),
- uses(20)
- {}
+ ToolGroupCap() {}
bool getTime(int rating, float *time) const
{
- std::map<int, float>::const_iterator i = times.find(rating);
- if(i == times.end()){
+ std::unordered_map<int, float>::const_iterator i = times.find(rating);
+ if (i == times.end()) {
*time = 0;
return false;
}
};
-// CLANG SUCKS DONKEY BALLS
-typedef std::map<std::string, struct ToolGroupCap> ToolGCMap;
-typedef std::map<std::string, s16> DamageGroup;
+typedef std::unordered_map<std::string, struct ToolGroupCap> ToolGCMap;
+typedef std::unordered_map<std::string, s16> DamageGroup;
struct ToolCapabilities
{
float full_punch_interval;
int max_drop_level;
- // CLANG SUCKS DONKEY BALLS
ToolGCMap groupcaps;
DamageGroup damageGroups;
ToolCapabilities(
float full_punch_interval_=1.4,
int max_drop_level_=1,
- // CLANG SUCKS DONKEY BALLS
- ToolGCMap groupcaps_=ToolGCMap(),
- DamageGroup damageGroups_=DamageGroup()
+ const ToolGCMap &groupcaps_ = ToolGCMap(),
+ const DamageGroup &damageGroups_ = DamageGroup()
):
full_punch_interval(full_punch_interval_),
max_drop_level(max_drop_level_),
u16 wear;
std::string main_group;
- DigParams(bool a_diggable=false, float a_time=0, u16 a_wear=0,
- std::string a_main_group=""):
+ DigParams(bool a_diggable = false, float a_time = 0.0f, u16 a_wear = 0,
+ const std::string &a_main_group = ""):
diggable(a_diggable),
time(a_time),
wear(a_wear),
struct PunchDamageResult
{
- bool did_punch;
- int damage;
- int wear;
-
- PunchDamageResult():
- did_punch(false),
- damage(0),
- wear(0)
- {}
+ bool did_punch = false;
+ int damage = 0;
+ int wear = 0;
+
+ PunchDamageResult() {}
};
struct ItemStack;