/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġd kim 1 9 3 7 5 Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġme . dk im 1 9 3 7 5 . bed w ars . plugin . listener Ċ Ċ import Ġme . dk im 1 9 3 7 5 . bed w ars . plugin . Bed w ars Plugin Ċ import Ġme . dk im 1 9 3 7 5 . bed w ars . plugin . enum class . GameState Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . event . EventHandler Ċ import Ġorg . bukkit . event . Event Priority Ċ import Ġorg . bukkit . event . Listener Ċ import Ġorg . bukkit . event . entity . Entity Damage Event Ċ Ċ class ĠEntity Damage Listener ( private Ġval Ġplugin : ĠBed w ars Plugin ) Ġ: ĠListener Ġ{ ĊĠĠĠ Ġ@ EventHandler ( priority Ġ= ĠEvent Priority . HIG HE ST , Ġignore Cancelled Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġfun ĠEntity Damage Event . on Damage () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( plugin . game Manager . get V ill agers UUID (). contains ( entity . unique Id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġplayer Auto Resp awn () ĊĠĠĠĠĠĠĠ Ġlob by Damage () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠEntity Damage Event . player Auto Resp awn () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġentity Ġas ? ĠPlayer Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġgame Ġ= Ġplugin . game Manager . get Game ( player ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( player . location . y Ġ> Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( game . state Ġ== ĠGameState . STARTED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . health Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠEntity Damage Event . lob by Damage () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġentity Ġas ? ĠPlayer Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġgame Ġ= Ġplugin . game Manager . get Game ( player ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( game . state Ġ!= ĠGameState . LO BB Y Ġ&& Ġgame . state Ġ!= ĠGameState . START ING ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġis Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} Ċ }