package net.minecraft.world.damagesource; import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.BootstrapContext; import net.minecraft.resources.Identifier; import net.minecraft.resources.ResourceKey; public interface DamageTypes { ResourceKey IN_FIRE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("in_fire")); ResourceKey CAMPFIRE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("campfire")); ResourceKey LIGHTNING_BOLT = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("lightning_bolt")); ResourceKey ON_FIRE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("on_fire")); ResourceKey LAVA = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("lava")); ResourceKey HOT_FLOOR = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("hot_floor")); ResourceKey IN_WALL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("in_wall")); ResourceKey CRAMMING = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("cramming")); ResourceKey DROWN = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("drown")); ResourceKey STARVE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("starve")); ResourceKey CACTUS = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("cactus")); ResourceKey FALL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("fall")); ResourceKey ENDER_PEARL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("ender_pearl")); ResourceKey FLY_INTO_WALL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("fly_into_wall")); ResourceKey FELL_OUT_OF_WORLD = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("out_of_world")); ResourceKey GENERIC = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("generic")); ResourceKey MAGIC = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("magic")); ResourceKey WITHER = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("wither")); ResourceKey DRAGON_BREATH = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("dragon_breath")); ResourceKey DRY_OUT = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("dry_out")); ResourceKey SWEET_BERRY_BUSH = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("sweet_berry_bush")); ResourceKey FREEZE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("freeze")); ResourceKey STALAGMITE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("stalagmite")); ResourceKey FALLING_BLOCK = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("falling_block")); ResourceKey FALLING_ANVIL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("falling_anvil")); ResourceKey FALLING_STALACTITE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("falling_stalactite")); ResourceKey STING = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("sting")); ResourceKey MOB_ATTACK = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("mob_attack")); ResourceKey MOB_ATTACK_NO_AGGRO = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("mob_attack_no_aggro")); ResourceKey PLAYER_ATTACK = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("player_attack")); ResourceKey SPEAR = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("spear")); ResourceKey ARROW = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("arrow")); ResourceKey TRIDENT = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("trident")); ResourceKey MOB_PROJECTILE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("mob_projectile")); ResourceKey SPIT = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("spit")); ResourceKey WIND_CHARGE = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("wind_charge")); ResourceKey FIREWORKS = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("fireworks")); ResourceKey FIREBALL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("fireball")); ResourceKey UNATTRIBUTED_FIREBALL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("unattributed_fireball")); ResourceKey WITHER_SKULL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("wither_skull")); ResourceKey THROWN = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("thrown")); ResourceKey INDIRECT_MAGIC = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("indirect_magic")); ResourceKey THORNS = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("thorns")); ResourceKey EXPLOSION = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("explosion")); ResourceKey PLAYER_EXPLOSION = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("player_explosion")); ResourceKey SONIC_BOOM = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("sonic_boom")); ResourceKey BAD_RESPAWN_POINT = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("bad_respawn_point")); ResourceKey OUTSIDE_BORDER = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("outside_border")); ResourceKey GENERIC_KILL = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("generic_kill")); ResourceKey MACE_SMASH = ResourceKey.create(Registries.DAMAGE_TYPE, Identifier.withDefaultNamespace("mace_smash")); static void bootstrap(final BootstrapContext context) { context.register(IN_FIRE, new DamageType("inFire", 0.1F, DamageEffects.BURNING)); context.register(CAMPFIRE, new DamageType("inFire", 0.1F, DamageEffects.BURNING)); context.register(LIGHTNING_BOLT, new DamageType("lightningBolt", 0.1F)); context.register(ON_FIRE, new DamageType("onFire", 0.0F, DamageEffects.BURNING)); context.register(LAVA, new DamageType("lava", 0.1F, DamageEffects.BURNING)); context.register(HOT_FLOOR, new DamageType("hotFloor", 0.1F, DamageEffects.BURNING)); context.register(IN_WALL, new DamageType("inWall", 0.0F)); context.register(CRAMMING, new DamageType("cramming", 0.0F)); context.register(DROWN, new DamageType("drown", 0.0F, DamageEffects.DROWNING)); context.register(STARVE, new DamageType("starve", 0.0F)); context.register(CACTUS, new DamageType("cactus", 0.1F)); context.register(FALL, new DamageType("fall", DamageScaling.WHEN_CAUSED_BY_LIVING_NON_PLAYER, 0.0F, DamageEffects.HURT, DeathMessageType.FALL_VARIANTS)); context.register( ENDER_PEARL, new DamageType("fall", DamageScaling.WHEN_CAUSED_BY_LIVING_NON_PLAYER, 0.0F, DamageEffects.HURT, DeathMessageType.FALL_VARIANTS) ); context.register(FLY_INTO_WALL, new DamageType("flyIntoWall", 0.0F)); context.register(FELL_OUT_OF_WORLD, new DamageType("outOfWorld", 0.0F)); context.register(GENERIC, new DamageType("generic", 0.0F)); context.register(MAGIC, new DamageType("magic", 0.0F)); context.register(WITHER, new DamageType("wither", 0.0F)); context.register(DRAGON_BREATH, new DamageType("dragonBreath", 0.0F)); context.register(DRY_OUT, new DamageType("dryout", 0.1F)); context.register(SWEET_BERRY_BUSH, new DamageType("sweetBerryBush", 0.1F, DamageEffects.POKING)); context.register(FREEZE, new DamageType("freeze", 0.0F, DamageEffects.FREEZING)); context.register(STALAGMITE, new DamageType("stalagmite", 0.0F)); context.register(FALLING_BLOCK, new DamageType("fallingBlock", 0.1F)); context.register(FALLING_ANVIL, new DamageType("anvil", 0.1F)); context.register(FALLING_STALACTITE, new DamageType("fallingStalactite", 0.1F)); context.register(STING, new DamageType("sting", 0.1F)); context.register(MOB_ATTACK, new DamageType("mob", 0.1F)); context.register(MOB_ATTACK_NO_AGGRO, new DamageType("mob", 0.1F)); context.register(PLAYER_ATTACK, new DamageType("player", 0.1F)); context.register(SPEAR, new DamageType("spear", 0.1F)); context.register(ARROW, new DamageType("arrow", 0.1F)); context.register(TRIDENT, new DamageType("trident", 0.1F)); context.register(MOB_PROJECTILE, new DamageType("mob", 0.1F)); context.register(SPIT, new DamageType("mob", 0.1F)); context.register(FIREWORKS, new DamageType("fireworks", 0.1F)); context.register(UNATTRIBUTED_FIREBALL, new DamageType("onFire", 0.1F, DamageEffects.BURNING)); context.register(FIREBALL, new DamageType("fireball", 0.1F, DamageEffects.BURNING)); context.register(WITHER_SKULL, new DamageType("witherSkull", 0.1F)); context.register(THROWN, new DamageType("thrown", 0.1F)); context.register(INDIRECT_MAGIC, new DamageType("indirectMagic", 0.0F)); context.register(THORNS, new DamageType("thorns", 0.1F, DamageEffects.THORNS)); context.register(EXPLOSION, new DamageType("explosion", DamageScaling.ALWAYS, 0.1F)); context.register(PLAYER_EXPLOSION, new DamageType("explosion.player", DamageScaling.ALWAYS, 0.1F)); context.register(SONIC_BOOM, new DamageType("sonic_boom", DamageScaling.ALWAYS, 0.0F)); context.register( BAD_RESPAWN_POINT, new DamageType("badRespawnPoint", DamageScaling.ALWAYS, 0.1F, DamageEffects.HURT, DeathMessageType.INTENTIONAL_GAME_DESIGN) ); context.register(OUTSIDE_BORDER, new DamageType("outsideBorder", 0.0F)); context.register(GENERIC_KILL, new DamageType("genericKill", 0.0F)); context.register(WIND_CHARGE, new DamageType("mob", 0.1F)); context.register(MACE_SMASH, new DamageType("mace_smash", 0.1F)); } }