1use crate::damage_type::{
2 DamageEffects, DamageScaling, DamageType, DamageTypeRegistry, DeathMessageType,
3};
4use steel_utils::Identifier;
5pub static WITHER: DamageType = DamageType {
6 key: Identifier::vanilla_static("wither"),
7 message_id: "wither",
8 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
9 exhaustion: 0f32,
10 effects: DamageEffects::Hurt,
11 death_message_type: DeathMessageType::Default,
12};
13pub static THROWN: DamageType = DamageType {
14 key: Identifier::vanilla_static("thrown"),
15 message_id: "thrown",
16 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
17 exhaustion: 0.1f32,
18 effects: DamageEffects::Hurt,
19 death_message_type: DeathMessageType::Default,
20};
21pub static ON_FIRE: DamageType = DamageType {
22 key: Identifier::vanilla_static("on_fire"),
23 message_id: "onFire",
24 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
25 exhaustion: 0f32,
26 effects: DamageEffects::Burning,
27 death_message_type: DeathMessageType::Default,
28};
29pub static WITHER_SKULL: DamageType = DamageType {
30 key: Identifier::vanilla_static("wither_skull"),
31 message_id: "witherSkull",
32 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
33 exhaustion: 0.1f32,
34 effects: DamageEffects::Hurt,
35 death_message_type: DeathMessageType::Default,
36};
37pub static PLAYER_EXPLOSION: DamageType = DamageType {
38 key: Identifier::vanilla_static("player_explosion"),
39 message_id: "explosion.player",
40 scaling: DamageScaling::Always,
41 exhaustion: 0.1f32,
42 effects: DamageEffects::Hurt,
43 death_message_type: DeathMessageType::Default,
44};
45pub static GENERIC_KILL: DamageType = DamageType {
46 key: Identifier::vanilla_static("generic_kill"),
47 message_id: "genericKill",
48 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
49 exhaustion: 0f32,
50 effects: DamageEffects::Hurt,
51 death_message_type: DeathMessageType::Default,
52};
53pub static EXPLOSION: DamageType = DamageType {
54 key: Identifier::vanilla_static("explosion"),
55 message_id: "explosion",
56 scaling: DamageScaling::Always,
57 exhaustion: 0.1f32,
58 effects: DamageEffects::Hurt,
59 death_message_type: DeathMessageType::Default,
60};
61pub static INDIRECT_MAGIC: DamageType = DamageType {
62 key: Identifier::vanilla_static("indirect_magic"),
63 message_id: "indirectMagic",
64 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
65 exhaustion: 0f32,
66 effects: DamageEffects::Hurt,
67 death_message_type: DeathMessageType::Default,
68};
69pub static MOB_ATTACK: DamageType = DamageType {
70 key: Identifier::vanilla_static("mob_attack"),
71 message_id: "mob",
72 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
73 exhaustion: 0.1f32,
74 effects: DamageEffects::Hurt,
75 death_message_type: DeathMessageType::Default,
76};
77pub static BAD_RESPAWN_POINT: DamageType = DamageType {
78 key: Identifier::vanilla_static("bad_respawn_point"),
79 message_id: "badRespawnPoint",
80 scaling: DamageScaling::Always,
81 exhaustion: 0.1f32,
82 effects: DamageEffects::Hurt,
83 death_message_type: DeathMessageType::IntentionalGameDesign,
84};
85pub static FALLING_BLOCK: DamageType = DamageType {
86 key: Identifier::vanilla_static("falling_block"),
87 message_id: "fallingBlock",
88 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
89 exhaustion: 0.1f32,
90 effects: DamageEffects::Hurt,
91 death_message_type: DeathMessageType::Default,
92};
93pub static STALAGMITE: DamageType = DamageType {
94 key: Identifier::vanilla_static("stalagmite"),
95 message_id: "stalagmite",
96 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
97 exhaustion: 0f32,
98 effects: DamageEffects::Hurt,
99 death_message_type: DeathMessageType::Default,
100};
101pub static FALLING_ANVIL: DamageType = DamageType {
102 key: Identifier::vanilla_static("falling_anvil"),
103 message_id: "anvil",
104 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
105 exhaustion: 0.1f32,
106 effects: DamageEffects::Hurt,
107 death_message_type: DeathMessageType::Default,
108};
109pub static MOB_PROJECTILE: DamageType = DamageType {
110 key: Identifier::vanilla_static("mob_projectile"),
111 message_id: "mob",
112 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
113 exhaustion: 0.1f32,
114 effects: DamageEffects::Hurt,
115 death_message_type: DeathMessageType::Default,
116};
117pub static STING: DamageType = DamageType {
118 key: Identifier::vanilla_static("sting"),
119 message_id: "sting",
120 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
121 exhaustion: 0.1f32,
122 effects: DamageEffects::Hurt,
123 death_message_type: DeathMessageType::Default,
124};
125pub static FLY_INTO_WALL: DamageType = DamageType {
126 key: Identifier::vanilla_static("fly_into_wall"),
127 message_id: "flyIntoWall",
128 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
129 exhaustion: 0f32,
130 effects: DamageEffects::Hurt,
131 death_message_type: DeathMessageType::Default,
132};
133pub static ENDER_PEARL: DamageType = DamageType {
134 key: Identifier::vanilla_static("ender_pearl"),
135 message_id: "fall",
136 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
137 exhaustion: 0f32,
138 effects: DamageEffects::Hurt,
139 death_message_type: DeathMessageType::FallVariants,
140};
141pub static LAVA: DamageType = DamageType {
142 key: Identifier::vanilla_static("lava"),
143 message_id: "lava",
144 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
145 exhaustion: 0.1f32,
146 effects: DamageEffects::Burning,
147 death_message_type: DeathMessageType::Default,
148};
149pub static SWEET_BERRY_BUSH: DamageType = DamageType {
150 key: Identifier::vanilla_static("sweet_berry_bush"),
151 message_id: "sweetBerryBush",
152 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
153 exhaustion: 0.1f32,
154 effects: DamageEffects::Poking,
155 death_message_type: DeathMessageType::Default,
156};
157pub static OUT_OF_WORLD: DamageType = DamageType {
158 key: Identifier::vanilla_static("out_of_world"),
159 message_id: "outOfWorld",
160 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
161 exhaustion: 0f32,
162 effects: DamageEffects::Hurt,
163 death_message_type: DeathMessageType::Default,
164};
165pub static DRAGON_BREATH: DamageType = DamageType {
166 key: Identifier::vanilla_static("dragon_breath"),
167 message_id: "dragonBreath",
168 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
169 exhaustion: 0f32,
170 effects: DamageEffects::Hurt,
171 death_message_type: DeathMessageType::Default,
172};
173pub static LIGHTNING_BOLT: DamageType = DamageType {
174 key: Identifier::vanilla_static("lightning_bolt"),
175 message_id: "lightningBolt",
176 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
177 exhaustion: 0.1f32,
178 effects: DamageEffects::Hurt,
179 death_message_type: DeathMessageType::Default,
180};
181pub static FREEZE: DamageType = DamageType {
182 key: Identifier::vanilla_static("freeze"),
183 message_id: "freeze",
184 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
185 exhaustion: 0f32,
186 effects: DamageEffects::Freezing,
187 death_message_type: DeathMessageType::Default,
188};
189pub static STARVE: DamageType = DamageType {
190 key: Identifier::vanilla_static("starve"),
191 message_id: "starve",
192 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
193 exhaustion: 0f32,
194 effects: DamageEffects::Hurt,
195 death_message_type: DeathMessageType::Default,
196};
197pub static GENERIC: DamageType = DamageType {
198 key: Identifier::vanilla_static("generic"),
199 message_id: "generic",
200 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
201 exhaustion: 0f32,
202 effects: DamageEffects::Hurt,
203 death_message_type: DeathMessageType::Default,
204};
205pub static MAGIC: DamageType = DamageType {
206 key: Identifier::vanilla_static("magic"),
207 message_id: "magic",
208 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
209 exhaustion: 0f32,
210 effects: DamageEffects::Hurt,
211 death_message_type: DeathMessageType::Default,
212};
213pub static IN_FIRE: DamageType = DamageType {
214 key: Identifier::vanilla_static("in_fire"),
215 message_id: "inFire",
216 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
217 exhaustion: 0.1f32,
218 effects: DamageEffects::Burning,
219 death_message_type: DeathMessageType::Default,
220};
221pub static MOB_ATTACK_NO_AGGRO: DamageType = DamageType {
222 key: Identifier::vanilla_static("mob_attack_no_aggro"),
223 message_id: "mob",
224 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
225 exhaustion: 0.1f32,
226 effects: DamageEffects::Hurt,
227 death_message_type: DeathMessageType::Default,
228};
229pub static MACE_SMASH: DamageType = DamageType {
230 key: Identifier::vanilla_static("mace_smash"),
231 message_id: "mace_smash",
232 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
233 exhaustion: 0.1f32,
234 effects: DamageEffects::Hurt,
235 death_message_type: DeathMessageType::Default,
236};
237pub static IN_WALL: DamageType = DamageType {
238 key: Identifier::vanilla_static("in_wall"),
239 message_id: "inWall",
240 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
241 exhaustion: 0f32,
242 effects: DamageEffects::Hurt,
243 death_message_type: DeathMessageType::Default,
244};
245pub static CAMPFIRE: DamageType = DamageType {
246 key: Identifier::vanilla_static("campfire"),
247 message_id: "inFire",
248 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
249 exhaustion: 0.1f32,
250 effects: DamageEffects::Burning,
251 death_message_type: DeathMessageType::Default,
252};
253pub static ARROW: DamageType = DamageType {
254 key: Identifier::vanilla_static("arrow"),
255 message_id: "arrow",
256 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
257 exhaustion: 0.1f32,
258 effects: DamageEffects::Hurt,
259 death_message_type: DeathMessageType::Default,
260};
261pub static HOT_FLOOR: DamageType = DamageType {
262 key: Identifier::vanilla_static("hot_floor"),
263 message_id: "hotFloor",
264 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
265 exhaustion: 0.1f32,
266 effects: DamageEffects::Burning,
267 death_message_type: DeathMessageType::Default,
268};
269pub static FALLING_STALACTITE: DamageType = DamageType {
270 key: Identifier::vanilla_static("falling_stalactite"),
271 message_id: "fallingStalactite",
272 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
273 exhaustion: 0.1f32,
274 effects: DamageEffects::Hurt,
275 death_message_type: DeathMessageType::Default,
276};
277pub static SPEAR: DamageType = DamageType {
278 key: Identifier::vanilla_static("spear"),
279 message_id: "spear",
280 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
281 exhaustion: 0.1f32,
282 effects: DamageEffects::Hurt,
283 death_message_type: DeathMessageType::Default,
284};
285pub static DRY_OUT: DamageType = DamageType {
286 key: Identifier::vanilla_static("dry_out"),
287 message_id: "dryout",
288 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
289 exhaustion: 0.1f32,
290 effects: DamageEffects::Hurt,
291 death_message_type: DeathMessageType::Default,
292};
293pub static TRIDENT: DamageType = DamageType {
294 key: Identifier::vanilla_static("trident"),
295 message_id: "trident",
296 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
297 exhaustion: 0.1f32,
298 effects: DamageEffects::Hurt,
299 death_message_type: DeathMessageType::Default,
300};
301pub static DROWN: DamageType = DamageType {
302 key: Identifier::vanilla_static("drown"),
303 message_id: "drown",
304 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
305 exhaustion: 0f32,
306 effects: DamageEffects::Drowning,
307 death_message_type: DeathMessageType::Default,
308};
309pub static UNATTRIBUTED_FIREBALL: DamageType = DamageType {
310 key: Identifier::vanilla_static("unattributed_fireball"),
311 message_id: "onFire",
312 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
313 exhaustion: 0.1f32,
314 effects: DamageEffects::Burning,
315 death_message_type: DeathMessageType::Default,
316};
317pub static OUTSIDE_BORDER: DamageType = DamageType {
318 key: Identifier::vanilla_static("outside_border"),
319 message_id: "outsideBorder",
320 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
321 exhaustion: 0f32,
322 effects: DamageEffects::Hurt,
323 death_message_type: DeathMessageType::Default,
324};
325pub static CRAMMING: DamageType = DamageType {
326 key: Identifier::vanilla_static("cramming"),
327 message_id: "cramming",
328 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
329 exhaustion: 0f32,
330 effects: DamageEffects::Hurt,
331 death_message_type: DeathMessageType::Default,
332};
333pub static PLAYER_ATTACK: DamageType = DamageType {
334 key: Identifier::vanilla_static("player_attack"),
335 message_id: "player",
336 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
337 exhaustion: 0.1f32,
338 effects: DamageEffects::Hurt,
339 death_message_type: DeathMessageType::Default,
340};
341pub static SONIC_BOOM: DamageType = DamageType {
342 key: Identifier::vanilla_static("sonic_boom"),
343 message_id: "sonic_boom",
344 scaling: DamageScaling::Always,
345 exhaustion: 0f32,
346 effects: DamageEffects::Hurt,
347 death_message_type: DeathMessageType::Default,
348};
349pub static FIREBALL: DamageType = DamageType {
350 key: Identifier::vanilla_static("fireball"),
351 message_id: "fireball",
352 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
353 exhaustion: 0.1f32,
354 effects: DamageEffects::Burning,
355 death_message_type: DeathMessageType::Default,
356};
357pub static SPIT: DamageType = DamageType {
358 key: Identifier::vanilla_static("spit"),
359 message_id: "mob",
360 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
361 exhaustion: 0.1f32,
362 effects: DamageEffects::Hurt,
363 death_message_type: DeathMessageType::Default,
364};
365pub static CACTUS: DamageType = DamageType {
366 key: Identifier::vanilla_static("cactus"),
367 message_id: "cactus",
368 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
369 exhaustion: 0.1f32,
370 effects: DamageEffects::Hurt,
371 death_message_type: DeathMessageType::Default,
372};
373pub static FIREWORKS: DamageType = DamageType {
374 key: Identifier::vanilla_static("fireworks"),
375 message_id: "fireworks",
376 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
377 exhaustion: 0.1f32,
378 effects: DamageEffects::Hurt,
379 death_message_type: DeathMessageType::Default,
380};
381pub static FALL: DamageType = DamageType {
382 key: Identifier::vanilla_static("fall"),
383 message_id: "fall",
384 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
385 exhaustion: 0f32,
386 effects: DamageEffects::Hurt,
387 death_message_type: DeathMessageType::FallVariants,
388};
389pub static THORNS: DamageType = DamageType {
390 key: Identifier::vanilla_static("thorns"),
391 message_id: "thorns",
392 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
393 exhaustion: 0.1f32,
394 effects: DamageEffects::Thorns,
395 death_message_type: DeathMessageType::Default,
396};
397pub static WIND_CHARGE: DamageType = DamageType {
398 key: Identifier::vanilla_static("wind_charge"),
399 message_id: "mob",
400 scaling: DamageScaling::WhenCausedByLivingNonPlayer,
401 exhaustion: 0.1f32,
402 effects: DamageEffects::Hurt,
403 death_message_type: DeathMessageType::Default,
404};
405pub fn register_damage_types(registry: &mut DamageTypeRegistry) {
406 registry.register(&WITHER);
407 registry.register(&THROWN);
408 registry.register(&ON_FIRE);
409 registry.register(&WITHER_SKULL);
410 registry.register(&PLAYER_EXPLOSION);
411 registry.register(&GENERIC_KILL);
412 registry.register(&EXPLOSION);
413 registry.register(&INDIRECT_MAGIC);
414 registry.register(&MOB_ATTACK);
415 registry.register(&BAD_RESPAWN_POINT);
416 registry.register(&FALLING_BLOCK);
417 registry.register(&STALAGMITE);
418 registry.register(&FALLING_ANVIL);
419 registry.register(&MOB_PROJECTILE);
420 registry.register(&STING);
421 registry.register(&FLY_INTO_WALL);
422 registry.register(&ENDER_PEARL);
423 registry.register(&LAVA);
424 registry.register(&SWEET_BERRY_BUSH);
425 registry.register(&OUT_OF_WORLD);
426 registry.register(&DRAGON_BREATH);
427 registry.register(&LIGHTNING_BOLT);
428 registry.register(&FREEZE);
429 registry.register(&STARVE);
430 registry.register(&GENERIC);
431 registry.register(&MAGIC);
432 registry.register(&IN_FIRE);
433 registry.register(&MOB_ATTACK_NO_AGGRO);
434 registry.register(&MACE_SMASH);
435 registry.register(&IN_WALL);
436 registry.register(&CAMPFIRE);
437 registry.register(&ARROW);
438 registry.register(&HOT_FLOOR);
439 registry.register(&FALLING_STALACTITE);
440 registry.register(&SPEAR);
441 registry.register(&DRY_OUT);
442 registry.register(&TRIDENT);
443 registry.register(&DROWN);
444 registry.register(&UNATTRIBUTED_FIREBALL);
445 registry.register(&OUTSIDE_BORDER);
446 registry.register(&CRAMMING);
447 registry.register(&PLAYER_ATTACK);
448 registry.register(&SONIC_BOOM);
449 registry.register(&FIREBALL);
450 registry.register(&SPIT);
451 registry.register(&CACTUS);
452 registry.register(&FIREWORKS);
453 registry.register(&FALL);
454 registry.register(ÞS);
455 registry.register(&WIND_CHARGE);
456}