package Ġcom . w illiam bl . ha ema . blood . injector Ċ Ċ import Ġcom . w illiam bl . ha ema . V amp irable Ċ import Ġcom . w illiam bl . ha ema . V amp ire Blood Manager Ċ import Ġcom . w illiam bl . ha ema . criteria . Store Blood Criterion Ċ import Ġcom . w illiam bl . ha ema . util . player V amp ire Conversion Ċ import Ġnet . minecraft . block . Dis pen ser Block Ċ import Ġnet . minecraft . block . dis pen ser . F al lib le Item Dis pen ser Behavior Ċ import Ġnet . minecraft . client . item . Tooltip Context Ċ import Ġnet . minecraft . entity . effect . Status Effects Ċ import Ġnet . minecraft . entity . player . Player Entity Ċ import Ġnet . minecraft . item . Item Ċ import Ġnet . minecraft . item . ItemStack Ċ import Ġnet . minecraft . server . network . Server Player Entity Ċ import Ġnet . minecraft . text . Text Ċ import Ġnet . minecraft . text . Trans latable Text Ċ import Ġnet . minecraft . util . Formatting Ċ import Ġnet . minecraft . util . Hand Ċ import Ġnet . minecraft . util . Identifier Ċ import Ġnet . minecraft . util . Typed ActionResult Ċ import Ġnet . minecraft . util . math . Block Pointer Ċ import Ġnet . minecraft . util . math . Box Ċ import Ġnet . minecraft . util . registry . Registry Ċ import Ġnet . minecraft . world . World Ċ Ċ class ĠEmpty V amp ire Blood Injector Item ( settings : ĠSettings ?) Ġ: ĠItem ( settings ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġuse ( world : ĠWorld , Ġuser : ĠPlayer Entity , Ġhand : ĠHand ): ĠTyped ActionResult < ItemStack > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( try Use ( user )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTyped ActionResult . consume ( ItemStack ( Registry . ITEM . get ( Identifier (" ha ema : v amp ire _ blood _ injector ")) )) ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTyped ActionResult . pass ( user . get Stack In Hand ( hand )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġappend Tooltip ( stack : ĠItemStack ?, Ġworld : ĠWorld ?, Ġtooltip : ĠMutable List < Text >, Ġcontext : ĠTooltip Context ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Tooltip ( stack , Ġworld , Ġtooltip , Ġcontext ) ĊĠĠĠĠĠĠĠ Ġtooltip . add ( Trans latable Text (" item . ha ema . empty _ v amp ire _ blood _ injector . desc "). formatted ( Formatting . DARK _ RED )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtry Use ( user : ĠPlayer Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(( user Ġas ĠV amp irable ). is V amp ire Ġ&& Ġ! user . world . is Client ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user . has Status Effect ( Status Effects . WE AK NESS )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! user . world . game Rules [ player V amp ire Conversion ]. get ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . sendMessage ( Trans latable Text (" gui . ha ema . message . conversion _ blocked _ by _ gam er ule "), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user . is Permanent V amp ire ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser . sendMessage ( Trans latable Text (" gui . ha ema . message . conversion _ not _ possible "), Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV amp irable . de convert ( user ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( user . hun ger Manager Ġas ĠV amp ire Blood Manager ). absolute Blood Level Ġ< Ġ 6 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( user . hun ger Manager Ġas ĠV amp ire Blood Manager ). remove Blood ( 6 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStore Blood Criterion . trigger ( user Ġas ĠServer Player Entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( user . hun ger Manager Ġas ĠV amp ire Blood Manager ). remove Blood ( 6 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject ĠDis pen ser Behavior Ġ: ĠF al lib le Item Dis pen ser Behavior () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdisp ense Sil ently ( pointer : ĠBlock Pointer , Ġstack : ĠItemStack ): ĠItemStack Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Pos Ġ= Ġpointer . block Pos . offset ( pointer . block State . get ( Dis pen ser Block . F ACING )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġpointer . world . get Entities By Class ( Player Entity :: class . java , ĠBox ( block Pos ), Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () Ġ?: Ġreturn Ġstack ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(( stack . item Ġas ĠEmpty V amp ire Blood Injector Item ). try Use ( user )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItemStack ( Registry . ITEM . get ( Identifier (" ha ema : v amp ire _ blood _ injector "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstack ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ