package Ġcom . github . br yan ser . fox classes . impl . wizard . skill Ċ Ċ import ĠBr . API . Particle Effect . Particle Effect Ċ import Ġcom . github . br yan ser . fox classes . Main Ċ import Ġcom . github . br yan ser . fox classes . Player Data Ċ import Ġcom . github . br yan ser . fox classes . Skill Ċ import Ġcom . github . br yan ser . fox classes . impl . arch er . skill . Explo s ive Arrow Ċ import Ġcom . github . br yan ser . fox classes . util . Config Entry Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . attribute . Attribute Ċ import Ġorg . bukkit . attribute . Attribute Modifier Ċ import Ġorg . bukkit . entity . Living Entity Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . event . EventHandler Ċ import Ġorg . bukkit . event . Listener Ċ import Ġorg . bukkit . event . entity . Entity Damage By Entity Event Ċ import Ġorg . bukkit . util . Vector Ċ import Ġjava . util .* Ċ Ċ object ĠBur st Attachment Ġ: ĠSkill (" Bur st Attachment ", ĊĠĠĠĠĠĠĠ Ġ" çĪ Ĩ è£ Ĥ éĻĦ åĬł ", ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Â§ 6 3 ç§Ĵ åĨħ éĢł æĪĲ çļĦæīĢæľī ä¼ ¤ å®³ ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Â§ 6 éĥ½ä¼ļ éĻĦ åĬł ä¸Ģæ¬¡ å°ı åŀĭ çĪ Ĩ çĤ ¸ ä¼ ¤ å®³ ( åįĬ å¾Ħ 1 æł¼ )" ĊĠĠĠĠĠĠĠ Ġ) Ċ ), ĠListener Ġ{ ĊĊĠĠĠ Ġval Ġdamage Ġ= ĠConfig Entry . expression Config (" damage ", Ġ"% level % Ġ* Ġ 2 0 Ġ+ Ġ% sx _ damage % ") ĊĠĠĠ Ġval Ġdistance Ġ= ĠConfig Entry . map Config (" distance ", Ġmap Of ( 1 Ġto Ġ 2 5 , Ġ 2 Ġto Ġ 2 5 , Ġ 3 Ġto Ġ 2 5 )) ĊĊĠĠĠ Ġval Ġcasting Ġ= Ġhash Map Of < UUID , ĠInt >() ĊĊĠĠĠ Ġval Ġex plot ion Ġ= Ġhash Set Of < UUID >() ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisable () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ EventHandler ĊĠĠĠ Ġfun Ġon Hit ( evt : ĠEntity Damage By Entity Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġevt . dam ager Ġas ĠPlayer ĊĠĠĠĠĠĠĠ Ġif Ġ( p . unique Id Ġin Ġex plot ion ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlv Ġ= ĠPlayer Data . getData ( p ). t alent Data . get Level ( this ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġd mg Ġ= Ġdamage ()( p , Ġlv ). toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( evt . entity Ġis ĠPlayer ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġloc Ġ= Ġevt . entity . location ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParticle Effect . EXP LO SION _ HU GE . display ( Vector . getRandom (), Ġ 1 f , Ġloc , Ġ 5 0 . 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġenemy Ġ= Ġmutable ListOf < UUID >() ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġloc . world . get Near by Entities ( loc , Ġ 1 . 0 , Ġ 1 . 0 , Ġ 1 . 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġ! is ĠL iving Entity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġ=== Ġp ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenemy . add ( e . unique Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . damage ( dmg , Ġp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcast ( p : ĠPlayer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlv Ġ= ĠPlayer Data . getData ( p ). t alent Data . get Level ( this ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġcasting [ p . unique Id ] Ġ= Ġlv ĊĠĠĠĠĠĠĠ Ġex plot ion . add ( p . unique Id ) ĊĊĊĠĠĠĠĠĠĠ ĠBu kkit . get Scheduler (). run Task Later ( Main . Plugin , Ġfun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex plot ion . remove ( p . unique Id ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ 2 0 Ġ* Ġ 1 ) ĊĠĠĠ Ġ} ĊĊ Ċ }