package Ġme . sy ari . ss . tool Ċ Ċ import Ġme . sy ari . ss . core . auto . Event Ċ import Ġme . sy ari . ss . core . message . Message . action Ċ import Ġme . sy ari . ss . tool . item . S ST ool Ċ import Ġme . sy ari . ss . tool . item . attachment . Click Action . Companion . get Cursor Ċ import Ġme . sy ari . ss . tool . item . attachment . Click Type Ċ import Ġme . sy ari . ss . tool . item . attachment . gun . Gun Attachment Ċ import Ġme . sy ari . ss . tool . item . attachment . gun . option . Reload Option Ċ import Ġme . sy ari . ss . tool . item . attachment . gun . option . Scope Option Ċ import Ġorg . bukkit . entity . Living Entity Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . event . EventHandler Ċ import Ġorg . bukkit . event . block . Action Ċ import Ġorg . bukkit . event . entity . Entity Damage By Entity Event Ċ import Ġorg . bukkit . event . player .* Ċ Ċ object ĠEvent Listener Ġ: ĠEvent Ġ{ ĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon ( e : ĠPlayer Interact Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= Ġe . action ĊĠĠĠĠĠĠĠ Ġif Ġ( action Ġ== ĠAction . PHYSICAL ) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġss Tool Ġ= ĠS ST ool . from ( e . item ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġe . is Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġe . player ĊĠĠĠĠĠĠĠ Ġif Ġ( ss Tool . dur ability Ġ< Ġ 1 ) Ġreturn Ġplayer . action ( Gun Attachment . Companion . Message . Broken Gun . message ) ĊĠĠĠĠĠĠĠ Ġval Ġclick Type Ġ= ĠClick Type . from ( action ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġss Tool . data . click Action [ click Type ]?. click ( player , Ġss Tool ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon ( e : ĠPlayer Drop Item Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġss Tool Ġ= ĠS ST ool . from ( e . item Drop . item Stack ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġe . is Cancelled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= Ġget Cursor ( ss Tool ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġe . player ĊĠĠĠĠĠĠĠ Ġss Tool . data . click Action [ cursor ]?. drop ( player , Ġss Tool ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon ( e : ĠEntity Damage By Entity Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġattacker Ġ= Ġe . dam ager Ġas ? ĠPlayer Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġv ictim Ġ= Ġe . entity Ġas ? ĠL iving Entity Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġss Tool Ġ= ĠS ST ool . from ( attack er . inventory . item In Main Hand ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġss Tool . data . me lee Attachment ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . damage ( attack er , Ġv ictim ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġss Tool . dur ability Ġ-= Ġit . we ar Out ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon ( e : ĠPlayer Toggle S ne ak Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġe . player ĊĠĠĠĠĠĠĠ Ġif Ġ(! e . is S ne aking Ġ&& ĠScope Option . is Use Scope ( player )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScope Option . cancel Scope ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon ( e : ĠPlayer Item Hel d Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġe . player ĊĠĠĠĠĠĠĠ ĠRe load Option . cancel Reload ( player ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Scope Option . is Use Scope ( player )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScope Option . cancel Scope ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon ( e : ĠPlayer Quit Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġe . player ĊĠĠĠĠĠĠĠ ĠRe load Option . cancel Reload ( player ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Scope Option . is Use Scope ( player )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠScope Option . cancel Scope ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }