package Ġcom . ch att riggers . ct js . minecraft . wrappers . entity Ċ Ċ import Ġcom . ch att riggers . ct js . utils . kotlin . MC Particle Ċ import Ġjava . awt . Color Ċ Ċ //# if ĠMC > 1 0 8 0 9 Ċ // $$ import Ġcom . ch att riggers . ct js . minecraft . mixins . Mixin Particle Ċ //# endif Ċ Ċ class ĠParticle ( val Ġunderlying Entity : ĠMC Particle ) Ġ: ĠEntity ( underlying Entity ) Ġ{ ĊĠĠĠ Ġfun Ġset X ( x : ĠDouble ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . setPosition ( x , Ġget Y (), Ġget Z ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Y ( y : ĠDouble ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . setPosition ( getX (), Ġy , Ġget Z ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Z ( z : ĠDouble ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . setPosition ( getX (), Ġget Y (), Ġz ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġscale ( scale : ĠFloat ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . multiple Particle Scale By ( scale ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmultiply Velocity ( multiplier : ĠFloat ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . multiply Velocity ( multiplier ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġcolor Ġof Ġthe Ġparticle . ĊĠĠĠĠ Ġ* Ġ@ param Ġred Ġthe Ġred Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ* Ġ@ param Ġgreen Ġthe Ġgreen Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ* Ġ@ param Ġblue Ġthe Ġblue Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Color ( red : ĠFloat , Ġgreen : ĠFloat , Ġblue : ĠFloat ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . set RB G Color F ( red , Ġgreen , Ġblue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġcolor Ġof Ġthe Ġparticle . ĊĠĠĠĠ Ġ* Ġ@ param Ġred Ġthe Ġred Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ* Ġ@ param Ġgreen Ġthe Ġgreen Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ* Ġ@ param Ġblue Ġthe Ġblue Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ* Ġ@ param Ġalpha Ġthe Ġalpha Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Color ( red : ĠFloat , Ġgreen : ĠFloat , Ġblue : ĠFloat , Ġalpha : ĠFloat ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġset Color ( red , Ġgreen , Ġblue ) ĊĠĠĠĠĠĠĠ Ġset Alpha ( alpha ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Color ( color : ĠLong ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġred Ġ= Ġ( color Ġshr Ġ 1 6 Ġand Ġ 2 5 5 ). toFloat () Ġ/ Ġ 2 5 5 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġblue Ġ= Ġ( color Ġshr Ġ 8 Ġand Ġ 2 5 5 ). toFloat () Ġ/ Ġ 2 5 5 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġgreen Ġ= Ġ( color Ġand Ġ 2 5 5 ). toFloat () Ġ/ Ġ 2 5 5 . 0 f ĊĠĠĠĠĠĠĠ Ġval Ġalpha Ġ= Ġ( color Ġshr Ġ 2 4 Ġand Ġ 2 5 5 ). toFloat () Ġ/ Ġ 2 5 5 . 0 f ĊĊĠĠĠĠĠĠĠ Ġset Color ( red , Ġgreen , Ġblue , Ġalpha ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġalpha Ġof Ġthe Ġparticle . ĊĠĠĠĠ Ġ* Ġ@ param Ġalpha Ġthe Ġalpha Ġvalue Ġbetween Ġ 0 Ġand Ġ 1 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Alpha ( alpha : ĠFloat ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . set Alpha F ( alpha ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġcolor Ġof Ġthe ĠParticle ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠA Ġ[ java . awt . Color ] Ġwith Ġthe ĠR , ĠG , ĠB Ġand ĠA Ġvalues ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Color (): ĠColor Ġ= ĠColor ( ĊĠĠĠĠĠĠĠ Ġunderlying Entity . red Color F , ĊĠĠĠĠĠĠĠ Ġunderlying Entity . green Color F , ĊĠĠĠĠĠĠĠ Ġunderlying Entity . blue Color F , ĊĠĠĠĠĠĠĠ Ġunderlying Entity . alpha ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSets Ġthe Ġamount Ġof Ġticks Ġthis Ġparticle Ġwill Ġlive Ġfor ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġmax Age Ġthe Ġparticle 's Ġmax Ġage Ġ( in Ġticks ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Max Age ( max Age : ĠInt ) Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġunderlying Entity . particle Max Age Ġ= Ġmax Age ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove () Ġ= Ġapply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// # if ĠMC <= 1 0 8 0 9 ĊĠĠĠĠĠĠĠ Ġunderlying Entity . set Dead () ĊĠĠĠĠĠĠĠ Ġ// # else ĊĠĠĠĠĠĠĠ Ġ// $$ Ġunderlying Entity . set Expired () ĊĠĠĠĠĠĠĠ Ġ// # endif ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġunderlying Entity . toString () ĊĠĠĠ Ġ} Ċ } Ċ