71 return std::optional<Modifier>();
76#if PROTOCOL_VERSION < 766
77 std::string EntityAttribute::TypeToString(
const Type type)
81#if PROTOCOL_VERSION < 735
83 return "generic.maxHealth";
85 return "generic.followRange";
87 return "generic.knockbackResistance";
89 return "generic.movementSpeed";
91 return "generic.flyingSpeed";
93 return "generic.attackDamage";
94#if PROTOCOL_VERSION > 404
96 return "generic.attackKnockback";
99 return "generic.attackSpeed";
101 return "generic.armor";
103 return "generic.armorToughness";
105 return "generic.luck";
107 return "zombie.spawnReinforcements";
108 case Type::HorseJumpStrength:
109 return "horse.jumpStrength";
112 return "minecraft:generic.max_health";
114 return "minecraft:generic.follow_range";
116 return "minecraft:generic.knockback_resistance";
118 return "minecraft:generic.movement_speed";
120 return "minecraft:generic.flying_speed";
122 return "minecraft:generic.attack_damage";
124 return "minecraft:generic.attack_knockback";
126 return "minecraft:generic.attack_speed";
128 return "minecraft:generic.armor";
130 return "minecraft:generic.armor_toughness";
132 return "minecraft:generic.luck";
133#if PROTOCOL_VERSION > 763
135 return "minecraft:generic.max_absorption";
138 return "minecraft:zombie.spawn_reinforcements";
139 case Type::HorseJumpStrength:
140 return "minecraft:horse.jump_strength";
150#if PROTOCOL_VERSION < 735
151 if (s ==
"generic.maxHealth")
155 if (s ==
"generic.followRange")
159 if (s ==
"generic.knockbackResistance")
163 if (s ==
"generic.movementSpeed")
167 if (s ==
"generic.flyingSpeed")
171 if (s ==
"generic.attackDamage")
175#if PROTOCOL_VERSION > 404
176 if (s ==
"generic.attackKnockback")
181 if (s ==
"generic.attackSpeed")
185 if (s ==
"generic.armor")
189 if (s ==
"generic.armorToughness")
193 if (s ==
"generic.luck")
197 if (s ==
"zombie.spawnReinforcements")
201 if (s ==
"horse.jumpStrength")
203 return Type::HorseJumpStrength;
206 if (s ==
"minecraft:generic.max_health")
210 if (s ==
"minecraft:generic.follow_range")
214 if (s ==
"minecraft:generic.knockback_resistance")
218 if (s ==
"minecraft:generic.movement_speed")
222 if (s ==
"minecraft:generic.flying_speed")
226 if (s ==
"minecraft:generic.attack_damage")
230 if (s ==
"minecraft:generic.attack_knockback")
234 if (s ==
"minecraft:generic.attack_speed")
238 if (s ==
"minecraft:generic.armor")
242 if (s ==
"minecraft:generic.armor_toughness")
246 if (s ==
"minecraft:generic.luck")
250#if PROTOCOL_VERSION > 763
251 if (s ==
"minecraft:generic.max_absorption")
256 if (s ==
"minecraft:zombie.spawn_reinforcements")
260 if (s ==
"minecraft:horse.jump_strength")
262 return Type::HorseJumpStrength;
281 double current_mult = 1.0;
288 current_mult += m.amount;
321#if PROTOCOL_VERSION > 404
338#if PROTOCOL_VERSION > 763
346#if PROTOCOL_VERSION < 766
347 case Type::HorseJumpStrength:
351#if PROTOCOL_VERSION > 765
380#if PROTOCOL_VERSION > 766
409#if PROTOCOL_VERSION > 767
#define DEFINE_ENUM_STRINGIFYER_RANGE(Enum, min_value, max_value)
void RemoveModifier(const ModifierKey &key)
const std::map< ModifierKey, Modifier > & GetModifiers() const
@ PlayerSubmergedMiningSpeed
@ ZombieSpawnReinforcementsChance
@ ExplosionKnockbackResistance
@ PlayerEntityInteractionRange
@ PlayerBlockInteractionRange
@ WaterMovementEfficiency
@ PlayerSweepingDamageRatio
std::optional< Modifier > GetModifier(const ModifierKey &key)
void SetBaseValue(const double new_value)
void SetModifier(const ModifierKey &key, const Modifier &modifier)
double GetBaseValue() const
std::map< ModifierKey, Modifier > modifiers