1use crate::attribute::AttributeModifierOperation;
2use crate::mob_effect::{
3 MobEffect, MobEffectAttributeModifier, MobEffectCategory, MobEffectParticle,
4 MobEffectRegistry,
5};
6use crate::{vanilla_attributes, vanilla_particle_types};
7use steel_utils::{ArgbColor, Identifier, RgbColor};
8static SPEED_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
9 MobEffectAttributeModifier {
10 attribute: vanilla_attributes::MOVEMENT_SPEED,
11 id: Identifier::vanilla_static("effect.speed"),
12 amount: 0.20000000298023224f64,
13 operation: AttributeModifierOperation::AddMultipliedTotal,
14 },
15];
16static SLOWNESS_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
17 MobEffectAttributeModifier {
18 attribute: vanilla_attributes::MOVEMENT_SPEED,
19 id: Identifier::vanilla_static("effect.slowness"),
20 amount: -0.15000000596046448f64,
21 operation: AttributeModifierOperation::AddMultipliedTotal,
22 },
23];
24static HASTE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
25 MobEffectAttributeModifier {
26 attribute: vanilla_attributes::ATTACK_SPEED,
27 id: Identifier::vanilla_static("effect.haste"),
28 amount: 0.10000000149011612f64,
29 operation: AttributeModifierOperation::AddMultipliedTotal,
30 },
31];
32static MINING_FATIGUE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
33 MobEffectAttributeModifier {
34 attribute: vanilla_attributes::ATTACK_SPEED,
35 id: Identifier::vanilla_static("effect.mining_fatigue"),
36 amount: -0.10000000149011612f64,
37 operation: AttributeModifierOperation::AddMultipliedTotal,
38 },
39];
40static STRENGTH_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
41 MobEffectAttributeModifier {
42 attribute: vanilla_attributes::ATTACK_DAMAGE,
43 id: Identifier::vanilla_static("effect.strength"),
44 amount: 3f64,
45 operation: AttributeModifierOperation::AddValue,
46 },
47];
48static INSTANT_HEALTH_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
49static INSTANT_DAMAGE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
50static JUMP_BOOST_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
51 MobEffectAttributeModifier {
52 attribute: vanilla_attributes::SAFE_FALL_DISTANCE,
53 id: Identifier::vanilla_static("effect.jump_boost"),
54 amount: 1f64,
55 operation: AttributeModifierOperation::AddValue,
56 },
57];
58static NAUSEA_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
59static REGENERATION_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
60static RESISTANCE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
61static FIRE_RESISTANCE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
62static WATER_BREATHING_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
63static INVISIBILITY_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
64 MobEffectAttributeModifier {
65 attribute: vanilla_attributes::WAYPOINT_TRANSMIT_RANGE,
66 id: Identifier::vanilla_static("effect.waypoint_transmit_range_hide"),
67 amount: -1f64,
68 operation: AttributeModifierOperation::AddMultipliedTotal,
69 },
70];
71static BLINDNESS_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
72static NIGHT_VISION_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
73static HUNGER_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
74static WEAKNESS_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
75 MobEffectAttributeModifier {
76 attribute: vanilla_attributes::ATTACK_DAMAGE,
77 id: Identifier::vanilla_static("effect.weakness"),
78 amount: -4f64,
79 operation: AttributeModifierOperation::AddValue,
80 },
81];
82static POISON_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
83static WITHER_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
84static HEALTH_BOOST_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
85 MobEffectAttributeModifier {
86 attribute: vanilla_attributes::MAX_HEALTH,
87 id: Identifier::vanilla_static("effect.health_boost"),
88 amount: 4f64,
89 operation: AttributeModifierOperation::AddValue,
90 },
91];
92static ABSORPTION_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
93 MobEffectAttributeModifier {
94 attribute: vanilla_attributes::MAX_ABSORPTION,
95 id: Identifier::vanilla_static("effect.absorption"),
96 amount: 4f64,
97 operation: AttributeModifierOperation::AddValue,
98 },
99];
100static SATURATION_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
101static GLOWING_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
102static LEVITATION_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
103static LUCK_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
104 MobEffectAttributeModifier {
105 attribute: vanilla_attributes::LUCK,
106 id: Identifier::vanilla_static("effect.luck"),
107 amount: 1f64,
108 operation: AttributeModifierOperation::AddValue,
109 },
110];
111static UNLUCK_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[
112 MobEffectAttributeModifier {
113 attribute: vanilla_attributes::LUCK,
114 id: Identifier::vanilla_static("effect.unluck"),
115 amount: -1f64,
116 operation: AttributeModifierOperation::AddValue,
117 },
118];
119static SLOW_FALLING_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
120static CONDUIT_POWER_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
121static DOLPHINS_GRACE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
122static BAD_OMEN_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
123static HERO_OF_THE_VILLAGE_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
124static DARKNESS_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
125static TRIAL_OMEN_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
126static RAID_OMEN_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
127static WIND_CHARGED_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
128static WEAVING_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
129static OOZING_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
130static INFESTED_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
131static BREATH_OF_THE_NAUTILUS_ATTRIBUTE_MODIFIERS: &[MobEffectAttributeModifier] = &[];
132pub static SPEED: &MobEffect = &MobEffect {
133 key: Identifier::vanilla_static("speed"),
134 category: MobEffectCategory::Beneficial,
135 color: RgbColor::new(3402751i32),
136 particle: MobEffectParticle::EffectColor {
137 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
138 regular_alpha: 255u8,
139 ambient_alpha: 38u8,
140 },
141 attribute_modifiers: SPEED_ATTRIBUTE_MODIFIERS,
142};
143pub static SLOWNESS: &MobEffect = &MobEffect {
144 key: Identifier::vanilla_static("slowness"),
145 category: MobEffectCategory::Harmful,
146 color: RgbColor::new(9154528i32),
147 particle: MobEffectParticle::EffectColor {
148 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
149 regular_alpha: 255u8,
150 ambient_alpha: 38u8,
151 },
152 attribute_modifiers: SLOWNESS_ATTRIBUTE_MODIFIERS,
153};
154pub static HASTE: &MobEffect = &MobEffect {
155 key: Identifier::vanilla_static("haste"),
156 category: MobEffectCategory::Beneficial,
157 color: RgbColor::new(14270531i32),
158 particle: MobEffectParticle::EffectColor {
159 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
160 regular_alpha: 255u8,
161 ambient_alpha: 38u8,
162 },
163 attribute_modifiers: HASTE_ATTRIBUTE_MODIFIERS,
164};
165pub static MINING_FATIGUE: &MobEffect = &MobEffect {
166 key: Identifier::vanilla_static("mining_fatigue"),
167 category: MobEffectCategory::Harmful,
168 color: RgbColor::new(4866583i32),
169 particle: MobEffectParticle::EffectColor {
170 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
171 regular_alpha: 255u8,
172 ambient_alpha: 38u8,
173 },
174 attribute_modifiers: MINING_FATIGUE_ATTRIBUTE_MODIFIERS,
175};
176pub static STRENGTH: &MobEffect = &MobEffect {
177 key: Identifier::vanilla_static("strength"),
178 category: MobEffectCategory::Beneficial,
179 color: RgbColor::new(16762624i32),
180 particle: MobEffectParticle::EffectColor {
181 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
182 regular_alpha: 255u8,
183 ambient_alpha: 38u8,
184 },
185 attribute_modifiers: STRENGTH_ATTRIBUTE_MODIFIERS,
186};
187pub static INSTANT_HEALTH: &MobEffect = &MobEffect {
188 key: Identifier::vanilla_static("instant_health"),
189 category: MobEffectCategory::Beneficial,
190 color: RgbColor::new(16262179i32),
191 particle: MobEffectParticle::EffectColor {
192 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
193 regular_alpha: 255u8,
194 ambient_alpha: 38u8,
195 },
196 attribute_modifiers: INSTANT_HEALTH_ATTRIBUTE_MODIFIERS,
197};
198pub static INSTANT_DAMAGE: &MobEffect = &MobEffect {
199 key: Identifier::vanilla_static("instant_damage"),
200 category: MobEffectCategory::Harmful,
201 color: RgbColor::new(11101546i32),
202 particle: MobEffectParticle::EffectColor {
203 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
204 regular_alpha: 255u8,
205 ambient_alpha: 38u8,
206 },
207 attribute_modifiers: INSTANT_DAMAGE_ATTRIBUTE_MODIFIERS,
208};
209pub static JUMP_BOOST: &MobEffect = &MobEffect {
210 key: Identifier::vanilla_static("jump_boost"),
211 category: MobEffectCategory::Beneficial,
212 color: RgbColor::new(16646020i32),
213 particle: MobEffectParticle::EffectColor {
214 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
215 regular_alpha: 255u8,
216 ambient_alpha: 38u8,
217 },
218 attribute_modifiers: JUMP_BOOST_ATTRIBUTE_MODIFIERS,
219};
220pub static NAUSEA: &MobEffect = &MobEffect {
221 key: Identifier::vanilla_static("nausea"),
222 category: MobEffectCategory::Harmful,
223 color: RgbColor::new(5578058i32),
224 particle: MobEffectParticle::EffectColor {
225 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
226 regular_alpha: 255u8,
227 ambient_alpha: 38u8,
228 },
229 attribute_modifiers: NAUSEA_ATTRIBUTE_MODIFIERS,
230};
231pub static REGENERATION: &MobEffect = &MobEffect {
232 key: Identifier::vanilla_static("regeneration"),
233 category: MobEffectCategory::Beneficial,
234 color: RgbColor::new(13458603i32),
235 particle: MobEffectParticle::EffectColor {
236 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
237 regular_alpha: 255u8,
238 ambient_alpha: 38u8,
239 },
240 attribute_modifiers: REGENERATION_ATTRIBUTE_MODIFIERS,
241};
242pub static RESISTANCE: &MobEffect = &MobEffect {
243 key: Identifier::vanilla_static("resistance"),
244 category: MobEffectCategory::Beneficial,
245 color: RgbColor::new(9520880i32),
246 particle: MobEffectParticle::EffectColor {
247 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
248 regular_alpha: 255u8,
249 ambient_alpha: 38u8,
250 },
251 attribute_modifiers: RESISTANCE_ATTRIBUTE_MODIFIERS,
252};
253pub static FIRE_RESISTANCE: &MobEffect = &MobEffect {
254 key: Identifier::vanilla_static("fire_resistance"),
255 category: MobEffectCategory::Beneficial,
256 color: RgbColor::new(16750848i32),
257 particle: MobEffectParticle::EffectColor {
258 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
259 regular_alpha: 255u8,
260 ambient_alpha: 38u8,
261 },
262 attribute_modifiers: FIRE_RESISTANCE_ATTRIBUTE_MODIFIERS,
263};
264pub static WATER_BREATHING: &MobEffect = &MobEffect {
265 key: Identifier::vanilla_static("water_breathing"),
266 category: MobEffectCategory::Beneficial,
267 color: RgbColor::new(10017472i32),
268 particle: MobEffectParticle::EffectColor {
269 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
270 regular_alpha: 255u8,
271 ambient_alpha: 38u8,
272 },
273 attribute_modifiers: WATER_BREATHING_ATTRIBUTE_MODIFIERS,
274};
275pub static INVISIBILITY: &MobEffect = &MobEffect {
276 key: Identifier::vanilla_static("invisibility"),
277 category: MobEffectCategory::Beneficial,
278 color: RgbColor::new(16185078i32),
279 particle: MobEffectParticle::EffectColor {
280 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
281 regular_alpha: 255u8,
282 ambient_alpha: 38u8,
283 },
284 attribute_modifiers: INVISIBILITY_ATTRIBUTE_MODIFIERS,
285};
286pub static BLINDNESS: &MobEffect = &MobEffect {
287 key: Identifier::vanilla_static("blindness"),
288 category: MobEffectCategory::Harmful,
289 color: RgbColor::new(2039587i32),
290 particle: MobEffectParticle::EffectColor {
291 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
292 regular_alpha: 255u8,
293 ambient_alpha: 38u8,
294 },
295 attribute_modifiers: BLINDNESS_ATTRIBUTE_MODIFIERS,
296};
297pub static NIGHT_VISION: &MobEffect = &MobEffect {
298 key: Identifier::vanilla_static("night_vision"),
299 category: MobEffectCategory::Beneficial,
300 color: RgbColor::new(12779366i32),
301 particle: MobEffectParticle::EffectColor {
302 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
303 regular_alpha: 255u8,
304 ambient_alpha: 38u8,
305 },
306 attribute_modifiers: NIGHT_VISION_ATTRIBUTE_MODIFIERS,
307};
308pub static HUNGER: &MobEffect = &MobEffect {
309 key: Identifier::vanilla_static("hunger"),
310 category: MobEffectCategory::Harmful,
311 color: RgbColor::new(5797459i32),
312 particle: MobEffectParticle::EffectColor {
313 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
314 regular_alpha: 255u8,
315 ambient_alpha: 38u8,
316 },
317 attribute_modifiers: HUNGER_ATTRIBUTE_MODIFIERS,
318};
319pub static WEAKNESS: &MobEffect = &MobEffect {
320 key: Identifier::vanilla_static("weakness"),
321 category: MobEffectCategory::Harmful,
322 color: RgbColor::new(4738376i32),
323 particle: MobEffectParticle::EffectColor {
324 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
325 regular_alpha: 255u8,
326 ambient_alpha: 38u8,
327 },
328 attribute_modifiers: WEAKNESS_ATTRIBUTE_MODIFIERS,
329};
330pub static POISON: &MobEffect = &MobEffect {
331 key: Identifier::vanilla_static("poison"),
332 category: MobEffectCategory::Harmful,
333 color: RgbColor::new(8889187i32),
334 particle: MobEffectParticle::EffectColor {
335 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
336 regular_alpha: 255u8,
337 ambient_alpha: 38u8,
338 },
339 attribute_modifiers: POISON_ATTRIBUTE_MODIFIERS,
340};
341pub static WITHER: &MobEffect = &MobEffect {
342 key: Identifier::vanilla_static("wither"),
343 category: MobEffectCategory::Harmful,
344 color: RgbColor::new(7561558i32),
345 particle: MobEffectParticle::EffectColor {
346 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
347 regular_alpha: 255u8,
348 ambient_alpha: 38u8,
349 },
350 attribute_modifiers: WITHER_ATTRIBUTE_MODIFIERS,
351};
352pub static HEALTH_BOOST: &MobEffect = &MobEffect {
353 key: Identifier::vanilla_static("health_boost"),
354 category: MobEffectCategory::Beneficial,
355 color: RgbColor::new(16284963i32),
356 particle: MobEffectParticle::EffectColor {
357 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
358 regular_alpha: 255u8,
359 ambient_alpha: 38u8,
360 },
361 attribute_modifiers: HEALTH_BOOST_ATTRIBUTE_MODIFIERS,
362};
363pub static ABSORPTION: &MobEffect = &MobEffect {
364 key: Identifier::vanilla_static("absorption"),
365 category: MobEffectCategory::Beneficial,
366 color: RgbColor::new(2445989i32),
367 particle: MobEffectParticle::EffectColor {
368 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
369 regular_alpha: 255u8,
370 ambient_alpha: 38u8,
371 },
372 attribute_modifiers: ABSORPTION_ATTRIBUTE_MODIFIERS,
373};
374pub static SATURATION: &MobEffect = &MobEffect {
375 key: Identifier::vanilla_static("saturation"),
376 category: MobEffectCategory::Beneficial,
377 color: RgbColor::new(16262179i32),
378 particle: MobEffectParticle::EffectColor {
379 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
380 regular_alpha: 255u8,
381 ambient_alpha: 38u8,
382 },
383 attribute_modifiers: SATURATION_ATTRIBUTE_MODIFIERS,
384};
385pub static GLOWING: &MobEffect = &MobEffect {
386 key: Identifier::vanilla_static("glowing"),
387 category: MobEffectCategory::Neutral,
388 color: RgbColor::new(9740385i32),
389 particle: MobEffectParticle::EffectColor {
390 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
391 regular_alpha: 255u8,
392 ambient_alpha: 38u8,
393 },
394 attribute_modifiers: GLOWING_ATTRIBUTE_MODIFIERS,
395};
396pub static LEVITATION: &MobEffect = &MobEffect {
397 key: Identifier::vanilla_static("levitation"),
398 category: MobEffectCategory::Harmful,
399 color: RgbColor::new(13565951i32),
400 particle: MobEffectParticle::EffectColor {
401 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
402 regular_alpha: 255u8,
403 ambient_alpha: 38u8,
404 },
405 attribute_modifiers: LEVITATION_ATTRIBUTE_MODIFIERS,
406};
407pub static LUCK: &MobEffect = &MobEffect {
408 key: Identifier::vanilla_static("luck"),
409 category: MobEffectCategory::Beneficial,
410 color: RgbColor::new(5882118i32),
411 particle: MobEffectParticle::EffectColor {
412 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
413 regular_alpha: 255u8,
414 ambient_alpha: 38u8,
415 },
416 attribute_modifiers: LUCK_ATTRIBUTE_MODIFIERS,
417};
418pub static UNLUCK: &MobEffect = &MobEffect {
419 key: Identifier::vanilla_static("unluck"),
420 category: MobEffectCategory::Harmful,
421 color: RgbColor::new(12624973i32),
422 particle: MobEffectParticle::EffectColor {
423 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
424 regular_alpha: 255u8,
425 ambient_alpha: 38u8,
426 },
427 attribute_modifiers: UNLUCK_ATTRIBUTE_MODIFIERS,
428};
429pub static SLOW_FALLING: &MobEffect = &MobEffect {
430 key: Identifier::vanilla_static("slow_falling"),
431 category: MobEffectCategory::Beneficial,
432 color: RgbColor::new(15978425i32),
433 particle: MobEffectParticle::EffectColor {
434 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
435 regular_alpha: 255u8,
436 ambient_alpha: 38u8,
437 },
438 attribute_modifiers: SLOW_FALLING_ATTRIBUTE_MODIFIERS,
439};
440pub static CONDUIT_POWER: &MobEffect = &MobEffect {
441 key: Identifier::vanilla_static("conduit_power"),
442 category: MobEffectCategory::Beneficial,
443 color: RgbColor::new(1950417i32),
444 particle: MobEffectParticle::EffectColor {
445 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
446 regular_alpha: 255u8,
447 ambient_alpha: 38u8,
448 },
449 attribute_modifiers: CONDUIT_POWER_ATTRIBUTE_MODIFIERS,
450};
451pub static DOLPHINS_GRACE: &MobEffect = &MobEffect {
452 key: Identifier::vanilla_static("dolphins_grace"),
453 category: MobEffectCategory::Beneficial,
454 color: RgbColor::new(8954814i32),
455 particle: MobEffectParticle::EffectColor {
456 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
457 regular_alpha: 255u8,
458 ambient_alpha: 38u8,
459 },
460 attribute_modifiers: DOLPHINS_GRACE_ATTRIBUTE_MODIFIERS,
461};
462pub static BAD_OMEN: &MobEffect = &MobEffect {
463 key: Identifier::vanilla_static("bad_omen"),
464 category: MobEffectCategory::Neutral,
465 color: RgbColor::new(745784i32),
466 particle: MobEffectParticle::EffectColor {
467 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
468 regular_alpha: 255u8,
469 ambient_alpha: 38u8,
470 },
471 attribute_modifiers: BAD_OMEN_ATTRIBUTE_MODIFIERS,
472};
473pub static HERO_OF_THE_VILLAGE: &MobEffect = &MobEffect {
474 key: Identifier::vanilla_static("hero_of_the_village"),
475 category: MobEffectCategory::Beneficial,
476 color: RgbColor::new(4521796i32),
477 particle: MobEffectParticle::EffectColor {
478 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
479 regular_alpha: 255u8,
480 ambient_alpha: 38u8,
481 },
482 attribute_modifiers: HERO_OF_THE_VILLAGE_ATTRIBUTE_MODIFIERS,
483};
484pub static DARKNESS: &MobEffect = &MobEffect {
485 key: Identifier::vanilla_static("darkness"),
486 category: MobEffectCategory::Harmful,
487 color: RgbColor::new(2696993i32),
488 particle: MobEffectParticle::EffectColor {
489 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
490 regular_alpha: 255u8,
491 ambient_alpha: 38u8,
492 },
493 attribute_modifiers: DARKNESS_ATTRIBUTE_MODIFIERS,
494};
495pub static TRIAL_OMEN: &MobEffect = &MobEffect {
496 key: Identifier::vanilla_static("trial_omen"),
497 category: MobEffectCategory::Neutral,
498 color: RgbColor::new(1484454i32),
499 particle: MobEffectParticle::Simple(&vanilla_particle_types::TRIAL_OMEN),
500 attribute_modifiers: TRIAL_OMEN_ATTRIBUTE_MODIFIERS,
501};
502pub static RAID_OMEN: &MobEffect = &MobEffect {
503 key: Identifier::vanilla_static("raid_omen"),
504 category: MobEffectCategory::Neutral,
505 color: RgbColor::new(14565464i32),
506 particle: MobEffectParticle::Simple(&vanilla_particle_types::RAID_OMEN),
507 attribute_modifiers: RAID_OMEN_ATTRIBUTE_MODIFIERS,
508};
509pub static WIND_CHARGED: &MobEffect = &MobEffect {
510 key: Identifier::vanilla_static("wind_charged"),
511 category: MobEffectCategory::Harmful,
512 color: RgbColor::new(12438015i32),
513 particle: MobEffectParticle::Simple(&vanilla_particle_types::SMALL_GUST),
514 attribute_modifiers: WIND_CHARGED_ATTRIBUTE_MODIFIERS,
515};
516pub static WEAVING: &MobEffect = &MobEffect {
517 key: Identifier::vanilla_static("weaving"),
518 category: MobEffectCategory::Harmful,
519 color: RgbColor::new(7891290i32),
520 particle: MobEffectParticle::Simple(&vanilla_particle_types::ITEM_COBWEB),
521 attribute_modifiers: WEAVING_ATTRIBUTE_MODIFIERS,
522};
523pub static OOZING: &MobEffect = &MobEffect {
524 key: Identifier::vanilla_static("oozing"),
525 category: MobEffectCategory::Harmful,
526 color: RgbColor::new(10092451i32),
527 particle: MobEffectParticle::Simple(&vanilla_particle_types::ITEM_SLIME),
528 attribute_modifiers: OOZING_ATTRIBUTE_MODIFIERS,
529};
530pub static INFESTED: &MobEffect = &MobEffect {
531 key: Identifier::vanilla_static("infested"),
532 category: MobEffectCategory::Harmful,
533 color: RgbColor::new(9214860i32),
534 particle: MobEffectParticle::Simple(&vanilla_particle_types::INFESTED),
535 attribute_modifiers: INFESTED_ATTRIBUTE_MODIFIERS,
536};
537pub static BREATH_OF_THE_NAUTILUS: &MobEffect = &MobEffect {
538 key: Identifier::vanilla_static("breath_of_the_nautilus"),
539 category: MobEffectCategory::Beneficial,
540 color: RgbColor::new(65518i32),
541 particle: MobEffectParticle::EffectColor {
542 particle_type: &vanilla_particle_types::ENTITY_EFFECT,
543 regular_alpha: 255u8,
544 ambient_alpha: 38u8,
545 },
546 attribute_modifiers: BREATH_OF_THE_NAUTILUS_ATTRIBUTE_MODIFIERS,
547};
548pub fn register_mob_effects(registry: &mut MobEffectRegistry) {
549 registry.register(SPEED);
550 registry.register(SLOWNESS);
551 registry.register(HASTE);
552 registry.register(MINING_FATIGUE);
553 registry.register(STRENGTH);
554 registry.register(INSTANT_HEALTH);
555 registry.register(INSTANT_DAMAGE);
556 registry.register(JUMP_BOOST);
557 registry.register(NAUSEA);
558 registry.register(REGENERATION);
559 registry.register(RESISTANCE);
560 registry.register(FIRE_RESISTANCE);
561 registry.register(WATER_BREATHING);
562 registry.register(INVISIBILITY);
563 registry.register(BLINDNESS);
564 registry.register(NIGHT_VISION);
565 registry.register(HUNGER);
566 registry.register(WEAKNESS);
567 registry.register(POISON);
568 registry.register(WITHER);
569 registry.register(HEALTH_BOOST);
570 registry.register(ABSORPTION);
571 registry.register(SATURATION);
572 registry.register(GLOWING);
573 registry.register(LEVITATION);
574 registry.register(LUCK);
575 registry.register(UNLUCK);
576 registry.register(SLOW_FALLING);
577 registry.register(CONDUIT_POWER);
578 registry.register(DOLPHINS_GRACE);
579 registry.register(BAD_OMEN);
580 registry.register(HERO_OF_THE_VILLAGE);
581 registry.register(DARKNESS);
582 registry.register(TRIAL_OMEN);
583 registry.register(RAID_OMEN);
584 registry.register(WIND_CHARGED);
585 registry.register(WEAVING);
586 registry.register(OOZING);
587 registry.register(INFESTED);
588 registry.register(BREATH_OF_THE_NAUTILUS);
589}