1use crate :: damage_type :: { DamageType , DamageTypeRegistry , DamageScaling , DamageEffects , DeathMessageType , } ; use steel_utils :: Identifier ; pub static STING : DamageType = DamageType { key : Identifier :: vanilla_static ("sting") , message_id : "sting" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static MAGIC : DamageType = DamageType { key : Identifier :: vanilla_static ("magic") , message_id : "magic" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static WIND_CHARGE : DamageType = DamageType { key : Identifier :: vanilla_static ("wind_charge") , message_id : "mob" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FIREBALL : DamageType = DamageType { key : Identifier :: vanilla_static ("fireball") , message_id : "fireball" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static BAD_RESPAWN_POINT : DamageType = DamageType { key : Identifier :: vanilla_static ("bad_respawn_point") , message_id : "badRespawnPoint" , scaling : DamageScaling :: Always , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: IntentionalGameDesign , } ; pub static DROWN : DamageType = DamageType { key : Identifier :: vanilla_static ("drown") , message_id : "drown" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Drowning , death_message_type : DeathMessageType :: Default , } ; pub static ENDER_PEARL : DamageType = DamageType { key : Identifier :: vanilla_static ("ender_pearl") , message_id : "fall" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: FallVariants , } ; pub static HOT_FLOOR : DamageType = DamageType { key : Identifier :: vanilla_static ("hot_floor") , message_id : "hotFloor" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static ARROW : DamageType = DamageType { key : Identifier :: vanilla_static ("arrow") , message_id : "arrow" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FREEZE : DamageType = DamageType { key : Identifier :: vanilla_static ("freeze") , message_id : "freeze" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Freezing , death_message_type : DeathMessageType :: Default , } ; pub static GENERIC_KILL : DamageType = DamageType { key : Identifier :: vanilla_static ("generic_kill") , message_id : "genericKill" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static PLAYER_ATTACK : DamageType = DamageType { key : Identifier :: vanilla_static ("player_attack") , message_id : "player" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static TRIDENT : DamageType = DamageType { key : Identifier :: vanilla_static ("trident") , message_id : "trident" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static SPEAR : DamageType = DamageType { key : Identifier :: vanilla_static ("spear") , message_id : "spear" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static OUTSIDE_BORDER : DamageType = DamageType { key : Identifier :: vanilla_static ("outside_border") , message_id : "outsideBorder" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static PLAYER_EXPLOSION : DamageType = DamageType { key : Identifier :: vanilla_static ("player_explosion") , message_id : "explosion.player" , scaling : DamageScaling :: Always , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FALLING_STALACTITE : DamageType = DamageType { key : Identifier :: vanilla_static ("falling_stalactite") , message_id : "fallingStalactite" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static WITHER : DamageType = DamageType { key : Identifier :: vanilla_static ("wither") , message_id : "wither" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static LIGHTNING_BOLT : DamageType = DamageType { key : Identifier :: vanilla_static ("lightning_bolt") , message_id : "lightningBolt" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static THORNS : DamageType = DamageType { key : Identifier :: vanilla_static ("thorns") , message_id : "thorns" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Thorns , death_message_type : DeathMessageType :: Default , } ; pub static CACTUS : DamageType = DamageType { key : Identifier :: vanilla_static ("cactus") , message_id : "cactus" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static IN_WALL : DamageType = DamageType { key : Identifier :: vanilla_static ("in_wall") , message_id : "inWall" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static IN_FIRE : DamageType = DamageType { key : Identifier :: vanilla_static ("in_fire") , message_id : "inFire" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static SPIT : DamageType = DamageType { key : Identifier :: vanilla_static ("spit") , message_id : "mob" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static LAVA : DamageType = DamageType { key : Identifier :: vanilla_static ("lava") , message_id : "lava" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static STALAGMITE : DamageType = DamageType { key : Identifier :: vanilla_static ("stalagmite") , message_id : "stalagmite" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static CAMPFIRE : DamageType = DamageType { key : Identifier :: vanilla_static ("campfire") , message_id : "inFire" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static SULFUR_CUBE_HOT : DamageType = DamageType { key : Identifier :: vanilla_static ("sulfur_cube_hot") , message_id : "sulfurCubeHot" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static UNATTRIBUTED_FIREBALL : DamageType = DamageType { key : Identifier :: vanilla_static ("unattributed_fireball") , message_id : "onFire" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static ON_FIRE : DamageType = DamageType { key : Identifier :: vanilla_static ("on_fire") , message_id : "onFire" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Burning , death_message_type : DeathMessageType :: Default , } ; pub static WITHER_SKULL : DamageType = DamageType { key : Identifier :: vanilla_static ("wither_skull") , message_id : "witherSkull" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static INDIRECT_MAGIC : DamageType = DamageType { key : Identifier :: vanilla_static ("indirect_magic") , message_id : "indirectMagic" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static DRY_OUT : DamageType = DamageType { key : Identifier :: vanilla_static ("dry_out") , message_id : "dryout" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FALL : DamageType = DamageType { key : Identifier :: vanilla_static ("fall") , message_id : "fall" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: FallVariants , } ; pub static FALLING_ANVIL : DamageType = DamageType { key : Identifier :: vanilla_static ("falling_anvil") , message_id : "anvil" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static CRAMMING : DamageType = DamageType { key : Identifier :: vanilla_static ("cramming") , message_id : "cramming" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static MOB_ATTACK : DamageType = DamageType { key : Identifier :: vanilla_static ("mob_attack") , message_id : "mob" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FLY_INTO_WALL : DamageType = DamageType { key : Identifier :: vanilla_static ("fly_into_wall") , message_id : "flyIntoWall" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static MACE_SMASH : DamageType = DamageType { key : Identifier :: vanilla_static ("mace_smash") , message_id : "mace_smash" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FALLING_BLOCK : DamageType = DamageType { key : Identifier :: vanilla_static ("falling_block") , message_id : "fallingBlock" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static OUT_OF_WORLD : DamageType = DamageType { key : Identifier :: vanilla_static ("out_of_world") , message_id : "outOfWorld" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static SWEET_BERRY_BUSH : DamageType = DamageType { key : Identifier :: vanilla_static ("sweet_berry_bush") , message_id : "sweetBerryBush" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Poking , death_message_type : DeathMessageType :: Default , } ; pub static THROWN : DamageType = DamageType { key : Identifier :: vanilla_static ("thrown") , message_id : "thrown" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static SONIC_BOOM : DamageType = DamageType { key : Identifier :: vanilla_static ("sonic_boom") , message_id : "sonic_boom" , scaling : DamageScaling :: Always , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static FIREWORKS : DamageType = DamageType { key : Identifier :: vanilla_static ("fireworks") , message_id : "fireworks" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static DRAGON_BREATH : DamageType = DamageType { key : Identifier :: vanilla_static ("dragon_breath") , message_id : "dragonBreath" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static MOB_PROJECTILE : DamageType = DamageType { key : Identifier :: vanilla_static ("mob_projectile") , message_id : "mob" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static MOB_ATTACK_NO_AGGRO : DamageType = DamageType { key : Identifier :: vanilla_static ("mob_attack_no_aggro") , message_id : "mob" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static GENERIC : DamageType = DamageType { key : Identifier :: vanilla_static ("generic") , message_id : "generic" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static STARVE : DamageType = DamageType { key : Identifier :: vanilla_static ("starve") , message_id : "starve" , scaling : DamageScaling :: WhenCausedByLivingNonPlayer , exhaustion : 0f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub static EXPLOSION : DamageType = DamageType { key : Identifier :: vanilla_static ("explosion") , message_id : "explosion" , scaling : DamageScaling :: Always , exhaustion : 0.1f32 , effects : DamageEffects :: Hurt , death_message_type : DeathMessageType :: Default , } ; pub fn register_damage_types (registry : & mut DamageTypeRegistry) { registry . register (& STING) ; registry . register (& MAGIC) ; registry . register (& WIND_CHARGE) ; registry . register (& FIREBALL) ; registry . register (& BAD_RESPAWN_POINT) ; registry . register (& DROWN) ; registry . register (& ENDER_PEARL) ; registry . register (& HOT_FLOOR) ; registry . register (& ARROW) ; registry . register (& FREEZE) ; registry . register (& GENERIC_KILL) ; registry . register (& PLAYER_ATTACK) ; registry . register (& TRIDENT) ; registry . register (& SPEAR) ; registry . register (& OUTSIDE_BORDER) ; registry . register (& PLAYER_EXPLOSION) ; registry . register (& FALLING_STALACTITE) ; registry . register (& WITHER) ; registry . register (& LIGHTNING_BOLT) ; registry . register (& THORNS) ; registry . register (& CACTUS) ; registry . register (& IN_WALL) ; registry . register (& IN_FIRE) ; registry . register (& SPIT) ; registry . register (& LAVA) ; registry . register (& STALAGMITE) ; registry . register (& CAMPFIRE) ; registry . register (& SULFUR_CUBE_HOT) ; registry . register (& UNATTRIBUTED_FIREBALL) ; registry . register (& ON_FIRE) ; registry . register (& WITHER_SKULL) ; registry . register (& INDIRECT_MAGIC) ; registry . register (& DRY_OUT) ; registry . register (& FALL) ; registry . register (& FALLING_ANVIL) ; registry . register (& CRAMMING) ; registry . register (& MOB_ATTACK) ; registry . register (& FLY_INTO_WALL) ; registry . register (& MACE_SMASH) ; registry . register (& FALLING_BLOCK) ; registry . register (& OUT_OF_WORLD) ; registry . register (& SWEET_BERRY_BUSH) ; registry . register (& THROWN) ; registry . register (& SONIC_BOOM) ; registry . register (& FIREWORKS) ; registry . register (& DRAGON_BREATH) ; registry . register (& MOB_PROJECTILE) ; registry . register (& MOB_ATTACK_NO_AGGRO) ; registry . register (& GENERIC) ; registry . register (& STARVE) ; registry . register (& EXPLOSION) ; }