package Ġio . github . fa ec raft . heart sh aped box . logic . damage . impl Ċ Ċ import Ġio . github . fa ec raft . heart sh aped box . body . Body Part Provider Ċ import Ġio . github . fa ec raft . heart sh aped box . body . BuiltIn Parts Ċ import Ġio . github . fa ec raft . heart sh aped box . logic . damage . Damage Handler Ċ import Ġnet . minecraft . entity . damage . Damage Source Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . server . network . Server Player Entity Ċ Ċ public Ġclass ĠD rown Damage Handler Ġ: ĠDamage Handler Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġshould Handle ( source : ĠDamage Source ): ĠBoolean Ġ= Ġsource . name Ġ== Ġ" d rown " ĊĊĠĠĠ Ġoverride Ġfun Ġget Possible Armor Pieces ( source : ĠDamage Source , Ġplayer : ĠServer Player Entity ) ĊĠĠĠ Ġ// ĠEmpty Ġas Ġit Ġalways Ġby passes Ġarm or ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠList < ItemStack > Ġ= Ġempty List () ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Damage ( ĊĠĠĠĠĠĠĠ Ġplayer : ĠServer Player Entity , ĊĠĠĠĠĠĠĠ Ġprovider : ĠBody Part Provider , ĊĠĠĠĠĠĠĠ Ġsource : ĠDamage Source , ĊĠĠĠĠĠĠĠ Ġamount : ĠFloat ĊĠĠĠ Ġ): ĠPair < Boolean , ĠFloat > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠDamage Ġboth Ġhead Ġand Ġbody Ġwhen Ġbody Ġis Ġadded ĊĠĠĠĠĠĠĠ Ġval Ġhead Ġ= Ġprovider . get OrThrow ( BuiltIn Parts . HEAD ) ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse Ġto Ġhead . take Damage ( amount ) ĊĠĠĠ Ġ} Ċ } Ċ