package Ġnet . fo of . div ination . entity . project ile Ċ Ċ import Ġnet . fabric mc . api . Env Type Ċ import Ġnet . fabric mc . api . Environment Ċ import Ġnet . fo of . div ination . register . Entities . SP ARK Ċ import Ġnet . fo of . div ination . register . Items . W AND _ OF _ SP ARK ING Ċ import Ġnet . minecraft . client . Minecraft Client Ċ import Ġnet . minecraft . entity . Entity Ċ import Ġnet . minecraft . entity . EntityType Ċ import Ġnet . minecraft . entity . Living Entity Ċ import Ġnet . minecraft . entity . damage . Damage Source Ċ import Ġnet . minecraft . entity . effect . Status Effect Instance Ċ import Ġnet . minecraft . entity . effect . Status Effects Ċ import Ġnet . minecraft . entity . mob . Str ay Entity Ċ import Ġnet . minecraft . entity . passive . Snow Go lem Entity Ċ import Ġnet . minecraft . entity . project ile . throw n . Thrown Entity Ċ import Ġnet . minecraft . entity . project ile . throw n . Thrown Item Entity Ċ import Ġnet . minecraft . item . Item Ċ import Ġnet . minecraft . particle . ItemStack Particle Effect Ċ import Ġnet . minecraft . particle . Particle Effect Ċ import Ġnet . minecraft . particle . Particle Types Ċ import Ġnet . minecraft . sound . Sound Events Ċ import Ġnet . minecraft . util . hit . Entity Hit Result Ċ import Ġnet . minecraft . util . hit . Hit Result Ċ import Ġnet . minecraft . world . World ĊĊ Ċ class ĠSpark Projectile Ġ: ĠThrow n Item Entity Ġ{ ĊĊĠĠĠ Ġconstructor ( entity Type : ĠEntityType < out ĠThrow n Item Entity ?> ?, Ġworld : ĠWorld ?) Ġ: Ġsuper ( entity Type , Ġworld ) ĊĠĠĠ Ġconstructor ( world : ĠWorld ?, Ġowner : ĠL iving Entity ?) Ġ: Ġsuper ( SP ARK , Ġowner , Ġworld ) ĊĠĠĠ Ġconstructor ( world : ĠWorld ?, Ġx : ĠDouble , Ġy : ĠDouble , Ġz : ĠDouble ) Ġ: Ġsuper ( SP ARK , Ġx , Ġy , Ġz , Ġworld ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetDefault Item (): ĠItem Ġ= ĠW AND _ OF _ SP ARK ING ĊĊĠĠĠ Ġ// ĠNot Ġentirely Ġsure , Ġbut Ġprobably Ġhas Ġdo Ġto Ġwith Ġthe Ġsnow ball 's Ġparticles . Ġ( OPTIONAL ) ĊĠĠĠ Ġ@ get : Environment ( Env Type . CLIENT ) ĊĠĠĠ Ġprivate Ġval Ġparticle Parameters : ĠParticle Effect ĊĠĠĠĠĠĠĠ Ġget () Ġ{ Ġ// ĠNot Ġentirely Ġsure , Ġbut Ġprobably Ġhas Ġdo Ġto Ġwith Ġthe Ġsnow ball 's Ġparticles . Ġ( OPTIONAL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Stack Ġ= Ġthis . item ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( if Ġ( item Stack . isEmpty ) ĠParticle Types . L AVA Ġelse ĠItemStack Particle Effect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠParticle Types . ITEM , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Stack ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) Ġas ĠParticle Effect ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Environment ( Env Type . CLIENT ) ĊĠĠĠ Ġoverride Ġfun Ġhandle Status ( status : ĠByte ) Ġ{ Ġ// ĠAlso Ġnot Ġentirely Ġsure , Ġbut Ġprobably Ġalso Ġhas Ġto Ġdo Ġwith Ġthe Ġparticles . ĠThis Ġmethod Ġ( as Ġwell Ġas Ġthe Ġprevious Ġone ) Ġare Ġoptional , Ġso Ġif Ġyou Ġdon 't Ġunderstand , Ġdon 't Ġinclude Ġthis Ġone . ĊĠĠĠĠĠĠĠ Ġif Ġ( status . toInt () Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparticle Effect Ġ= Ġparticle Parameters ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworld . add Particle ( particle Effect , Ġthis . x , Ġthis . y , Ġthis . z , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Entity Hit ( entity Hit Result : ĠEntity Hit Result ) Ġ{ Ġ// Ġcalled Ġon Ġentity Ġhit . ĊĠĠĠĠĠĠĠ Ġsuper . on Entity Hit ( entity Hit Result ) ĊĠĠĠĠĠĠĠ Ġval Ġentity : ĠEntity Ġ= Ġentity Hit Result . entity Ġ// Ġsets Ġa Ġnew ĠEntity Ġinstance Ġas Ġthe ĠEntity Hit Result Ġ( v ictim ) ĊĠĠĠĠĠĠĠ Ġval Ġi Ġ= Ġif Ġ( entity Ġis ĠSnow Go lem Entity Ġ|| Ġentity Ġis ĠStr ay Entity ) Ġ 8 Ġelse Ġ 4 Ġ// Ġsets Ġdamage Ġto Ġ 8 Ġif Ġthe ĠEntity Ġinstance Ġis Ġan Ġinstance Ġof ĠSnow Go lem Entity Ġor ĠStr ay Entity ĊĠĠĠĠĠĠĠ Ġentity . damage ( Damage Source . throw n Projectile ( this , Ġthis . owner ), Ġi . toFloat ()) Ġ// Ġdeals Ġdamage ĊĠĠĠĠĠĠĠ Ġif Ġ( entity Ġis ĠL iving Entity ) Ġ{ Ġ// Ġchecks Ġif Ġentity Ġis Ġan Ġinstance Ġof ĠL iving Entity Ġ( mean ing Ġit Ġis Ġnot Ġa Ġbo at Ġor Ġmine cart ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity . setOn Fire For ( 2 ) Ġ// Ġsets Ġon Ġfire ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġentity . add Status Effect ( Status Effect Instance ( Status Effects . S LO WN ESS , Ġ 2 0 Ġ* Ġ 2 , Ġ 3 )) Ġ// Ġapplies Ġa Ġstatus Ġeffect ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity . play Sound ( Sound Events . BLOCK _ FIRE _ AM BI ENT , Ġ 0 . 3 f , Ġ 1 . 8 f ) Ġ// Ġplays Ġa Ġsound Ġfor Ġthe Ġentity Ġhit Ġonly ĊĠĠĠĠĠĠĠĠĠĠĠ Ġground Particles () Ġ// Ġparticle Ġeffects ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Collision ( hit Result : ĠHit Result ) Ġ{ Ġ// Ġcalled Ġon Ġcollision Ġwith Ġa Ġblock ĊĠĠĠĠĠĠĠ Ġsuper . on Collision ( hit Result ) ĊĠĠĠĠĠĠĠ Ġground Particles () ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! world . is Client ) Ġ{ Ġ// Ġchecks Ġif Ġthe Ġworld Ġis Ġclient ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld . send Entity Status ( this , Ġ 3 . to Byte ()) Ġ// Ġparticle ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . remove () Ġ// Ġk ills Ġthe Ġproject ile ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġruns Ġeach Ġtick ĊĠĠĠ Ġoverride Ġfun Ġtick () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . tick () ĊĠĠĠĠĠĠĠ Ġtick Particles () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġparticle Ġcreation Ġfunctions ĊĠĠĠ Ġprivate Ġfun Ġtick Particles () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġworld : ĠWorld ? Ġ= ĠMinecraft Client . getInstance (). world ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġthis Ġas ĠThrow n Entity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld !!. add Particle ( Particle Types . FL AME , Ġtrue , Ġentity . x , Ġentity . y , Ġentity . z , Ġ 0 . 0 , Ġ 0 . 1 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld !!. add Particle ( Particle Types . L AVA , Ġtrue , Ġentity . x , Ġentity . y , Ġentity . z , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġground Particles () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġworld : ĠWorld ? Ġ= ĠMinecraft Client . getInstance (). world ĊĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġthis Ġas ĠThrow n Entity ĊĠĠĠĠĠĠĠ Ġworld !!. add Particle ( Particle Types . CA MP FIRE _ CO SY _ S MO KE , Ġtrue , Ġentity . x , Ġentity . y , Ġentity . z , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġworld !!. add Particle ( Particle Types . CA MP FIRE _ CO SY _ S MO KE , Ġtrue , Ġentity . x , Ġentity . y , Ġentity . z , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġworld !!. add Particle ( Particle Types . CA MP FIRE _ CO SY _ S MO KE , Ġtrue , Ġentity . x , Ġentity . y , Ġentity . z , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġworld !!. add Particle ( Particle Types . L AVA , Ġtrue , Ġentity . x , Ġentity . y , Ġentity . z , Ġ 0 . 0 , Ġ 0 . 0 , Ġ 0 . 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġentity . play Sound ( Sound Events . BLOCK _ FIRE _ AM BI ENT , Ġ 0 . 3 f , Ġ 1 . 8 f ) Ġ// Ġplays Ġa Ġsound Ġfor Ġthe Ġground Ġcontact ĊĊĠĠĠ Ġ} Ċ Ċ }