package Ġme . ih developer . hum ans . core . entity Ċ Ċ import Ġcom . moj ang . auth lib . Game Profile Ċ import Ġme . ih developer . hum ans . core . entity . event . Entity OnClick Ċ import Ġme . ih developer . hum ans . core . get Private Field Ċ import Ġme . ih developer . hum ans . core . registry . spawn Entity Ċ import Ġme . ih developer . hum ans . core . set Private Field Ċ import Ġme . ih developer . hum ans . core . system . NPC System Ċ import Ġme . ih developer . hum ans . core . system . TEAM _ NPC Ċ import Ġme . ih developer . hum ans . core . util . Game Logger Ċ import Ġme . ih developer . hum ans . core . util . N MS ItemStack Ċ import Ġme . ih developer . hum ans . core . util . broadcast Packet Ċ import Ġme . ih developer . hum ans . core . util . to N MS Ċ import Ġme . ih developer . hum ans . core . util . to N MS World Ċ import Ġme . ih developer . hum ans . core . util . to Server Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Block Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Damage Source Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Armor Stand Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Fall ing Block Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity G iant Z ombie Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Human Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Lightning Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Living Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Mine cart R ide able Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Player Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity P otion Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity Skeleton Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Entity W itch Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Enum Protocol Direction Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Math Helper Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Network Manager Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Packet Play Out Animation Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Packet Play Out Entity Equipment Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Packet Play Out Entity Head Rotation Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Packet Play Out Named Entity Spawn Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Packet Play Out Player Info Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Packet Play Out Spawn Entity Weather Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Path finder Goal Selector Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Player Connection Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Player Interact Manager Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . Vec 3 D Ċ import Ġnet . minecraft . server . v 1 _ 8 _ R 3 . World Server Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . Location Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . World Ċ import Ġorg . bukkit . craft bukkit . v 1 _ 8 _ R 3 . Craft Server Ċ import Ġorg . bukkit . craft bukkit . v 1 _ 8 _ R 3 . util . Unsafe List Ċ import Ġorg . bukkit . entity . Player Ċ import Ġorg . bukkit . event . player . Player Interact At Entity Event Ċ import Ġorg . bukkit . score board . Name Tag Visibility Ċ Ċ private Ġconst Ġval ĠN PC _ RENDER _ DISTANCE Ġ= Ġ 4 8 Ċ Ċ /** Ċ Ġ* ĠAn Ġcustom Ġentity Ġfor Ġarm or Ġstand Ċ Ġ*/ Ċ open Ġclass ĠCustom Armor Stand ( protected Ġval Ġlocation : ĠLocation ) ĊĠĠĠ Ġ: ĠEntity Armor Stand ( to N MS World ( location . world ), Ġlocation . x , Ġlocation . y , Ġlocation . z ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthe Ġlocation Ġof Ġthe Ġentity Ġin Ġthe Ġworld ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNote : ĠIt Ġshould Ġbe Ġused Ġduring Ġthe Ġinitialization Ġof Ġthe Ġfinal Ġclass ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġlocation . run Ġ{ Ġset Location ( x , Ġy , Ġz , Ġyaw , Ġpitch ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĠChange Ġthe Ġhead Ġrotation Ġof Ġthe Ġentity Ġ*/ ĊĠĠĠĠĠĠĠ Ġsuper . a K Ġ= Ġlocation . yaw ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFix : ĠGr avity Ġflag Ġvalue Ġis Ġreversed ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġset Gravity ( flag : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Gravity (! flag ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠPrevent Ġthe Ġplayer Ġfrom Ġputting Ġany Ġitem Ġto Ġthe Ġpr ison Ġwatcher Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġd ( i : ĠInt , Ġitem stack : ĠN MS ItemStack ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠPrevent Ġthe Ġpr ison Ġwatcher Ġfrom Ġcoll iding Ġwith Ġthe Ġmine Ġcart Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġb L () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠPrevent Ġthe Ġplayer Ġfrom Ġmanip ulating Ġthe Ġpr ison Ġwatcher Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġa ( entity human : ĠEntity Human ?, Ġvec 3 d : ĠVec 3 D ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠPrevent Ġthe Ġpr ison Ġwatcher Ġfrom Ġgetting Ġdam aged Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdamage Entity ( damage source : ĠDamage Source ?, Ġf : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġis ĠEntity OnClick ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( damage source !!. entity Ġis ĠEntity Player ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . damage Entity ( damage source , Ġf ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCustom Ġentity Ġfor Ġskeleton Ċ Ġ*/ Ċ open Ġclass ĠCustom Skeleton ( ĊĠĠĠ Ġprivate Ġval Ġlocation : ĠLocation Ċ ) Ġ: ĠEntity Skeleton ( to N MS World ( location . world )) Ġ{ ĊĠĠĠ Ġprotected Ġval Ġname Ho log ram Ġ= ĠHo log ram ( location . clone (). apply Ġ{ Ġy Ġ+= Ġ 1 Ġ}, Ġ" Â§ c Skeleton ") ĊĠĠĠ Ġprotected Ġvar Ġfrozen Ġ= Ġtrue ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthe Ġlocation Ġof Ġthe Ġentity Ġin Ġthe Ġworld ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNote : ĠIt Ġshould Ġbe Ġused Ġduring Ġthe Ġinitialization Ġof Ġthe Ġfinal Ġclass ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Location ( location . x , Ġlocation . y , Ġlocation . z , Ġlocation . yaw , Ġlocation . pitch ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĠChange Ġthe Ġhead Ġrotation Ġof Ġthe Ġentity Ġ*/ ĊĠĠĠĠĠĠĠ Ġsuper . a K Ġ= Ġlocation . yaw ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClear s Ġ[ Path finder Goal Selector ] Ġusing ĠReflection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear Path finder Selector ( selector : ĠPath finder Goal Selector ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Private Field ( selector , Ġ" b ", ĠUnsafe List < Path finder Goal Selector >()) ĊĠĠĠĠĠĠĠ Ġset Private Field ( selector , Ġ" c ", ĠUnsafe List < Path finder Goal Selector >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSp awns Ġthe Ġname Ġho log ram ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġspawn Ho log ram () Ġ{ ĊĠĠĠĠĠĠĠ Ġspawn Entity ( name Ho log ram , Ġfalse , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemove Ġthe Ġho log ram Ġwhen Ġthe Ġentity Ġdies ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdie () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . die () ĊĠĠĠĠĠĠĠ Ġname Ho log ram . bukkit Entity . remove () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġskeleton Ġfrom Ġburn ing Ġby Ġfire ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġm () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġskeleton Ġfrom Ġmoving ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġmove ( d 0 : ĠDouble , Ġd 1 : ĠDouble , Ġd 2 : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( frozen ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġsuper . move ( d 0 , Ġd 1 , Ġd 2 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġskeleton Ġfrom Ġcoll iding Ġwith Ġanyone ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcol lide ( entity : ĠEntity ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġskeleton Ġfrom Ġgetting Ġdam aged ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdamage Entity ( damage source : ĠDamage Source ?, Ġf : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġskeleton Ġfrom Ġmoving ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġg ( d 0 : ĠDouble , Ġd 1 : ĠDouble , Ġd 2 : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġskeleton Ġfrom Ġattack ing Ġanyone . ĠIf Ġa Ġb ow Ġis Ġin Ġthe Ġskeleton 's Ġhand ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġn () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠCustom Ġentity Ġfor Ġ ride able Ġmine Ġcart Ċ Ġ*/ Ċ open Ġclass ĠCustom Mine Cart ( location : ĠLocation ) ĊĠĠĠ Ġ: ĠEntity Mine cart R ide able ( to N MS World ( location . world )) Ċ Ċ /** Ċ Ġ* ĠCustom Ġentity Ġfor Ġnon - player Ġcharacter Ċ Ġ*/ Ċ open Ġclass ĠCustom NPC ( ĊĠĠĠ Ġval Ġlocation : ĠLocation , ĊĠĠĠ Ġprofile : ĠGame Profile Ċ ) Ġ: ĠEntity Player ( ĊĠĠĠ Ġ( Bu kkit . getServer () Ġas ĠCraft Server ). server , ĊĠĠĠ Ġto N MS World ( location . world ) Ġas ĠWorld Server , ĊĠĠĠ Ġprofile , ĊĠĠĠ ĠPlayer Interact Manager ( to N MS World ( location . world )) Ċ ) Ġ{ ĊĠĠĠ Ġval Ġtracked Players Ġ= Ġmutable Set Of < Int >() ĊĠĠĠ Ġprivate Ġvar Ġho log r ams : ĠArray < Ho log ram >? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġinit NPC () Ġ{ ĊĠĠĠĠĠĠĠ Ġconnection Ġ= ĠPlayer Connection ( server , ĠNetwork Manager ( Enum Protocol Direction . SERVER BOUND ), Ġthis ) ĊĊĠĠĠĠĠĠĠ Ġcustom Name Visible Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġlocation . apply Ġ{ Ġset Location ( x , Ġy , Ġz , Ġyaw , Ġpitch ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĠEnable Ġall Ġskin Ġparts Ġin Ġthe ĠN PC Ġ*/ ĊĠĠĠĠĠĠĠ Ġdata watcher . watch ( 1 0 , Ġ 2 5 5 . to Byte ()) ĊĊĠĠĠĠĠĠĠ Ġworld . add Entity ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Ho log ram ( name : ĠString , Ġtype : ĠString , Ġstate : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġho log r ams Ġ= Ġspawn NP CH o log ram ( location , Ġname , Ġtype , Ġstate , ĠGame Logger (" Core / NPC / Logger ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCheck Ġif Ġthe ĠN PC Ġshould Ġtrack Ġthis Ġplayer Ġor Ġnot ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġshould Track ( location : ĠLocation ) Ġ= Ġ( this . location . distance ( location ) Ġ<= ĠN PC _ RENDER _ DISTANCE ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSp awns Ġthe ĠN PC Ġto Ġthe Ġplayer . ĠAnd , Ġadds Ġit Ġto Ġthe Ġtracking Ġset ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġspawn ( player : ĠEntity Player ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . bukkit Entity . score board . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( get Team ( TEAM _ NPC ) Ġ?: Ġregister New Team ( TEAM _ NPC ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix Ġ= Ġ" Â§ 8 [ NPC ] Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Tag Visibility Ġ= ĠName Tag Visibility . HIDE _ FOR _ OTHER _ TE AMS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). add Entry ( profile . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtracked Players . add ( player . id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġhead Y aw Ġ= ĠMath Helper . d ( head Rotation Ġ* Ġ 2 5 6 . 0 f Ġ/ Ġ 3 6 0 . 0 f ) ĊĊĠĠĠĠĠĠĠ Ġplayer . connection . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Packet ( Packet Play Out Player Info ( Packet Play Out Player Info . Enum Player Info Action . ADD _ PLAYER , Ġthis @ Custom NPC )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Packet ( Packet Play Out Named Entity Spawn ( this @ Custom NPC )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Packet ( Packet Play Out Entity Head Rotation ( this @ Custom NPC , Ġhead Y aw . to Byte ())) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠN PC System . schedule Remove Packet ( this , Ġthis @ Custom NPC ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate ( player ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDes p awns Ġthe ĠN PC Ġfrom Ġthe Ġplayer . ĠAnd Ġremove Ġit Ġfrom Ġthe Ġtracking Ġset ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġde spawn ( player : ĠEntity Player ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtracked Players . remove ( player . id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdie () Ġ{ ĊĠĠĠĠĠĠĠ Ġtracked Players . clear () ĊĠĠĠĠĠĠĠ Ġho log r ams ?. forEach Ġ{ Ġit . die () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Head Rotation () Ġ= Ġlocation . yaw ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInv oked Ġwhen Ġ[ Player Interact At Entity Event ] Ġis Ġfired ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġinteract ( player : ĠPlayer ) Ġ{} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdates Ġthe Ġstate Ġof Ġthe ĠN PC Ġto Ġthe Ġplayer ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġupdate ( player : ĠEntity Player ) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . connection . run Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĠSend Ġan Ġanimation Ġof Ġthe ĠN PC 's Ġarm Ġsw ing ing Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Packet ( Packet Play Out Animation ( this @ Custom NPC , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Packet ( Packet Play Out Entity Equipment ( id , Ġ 4 , Ġget Equipment ( 4 ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCustom Ġentity Ġfor Ġg iant Ġz ombie Ċ Ġ*/ Ċ open Ġclass ĠCustom G iant ( ĊĠĠĠ Ġprivate Ġval Ġlocation : ĠLocation Ċ ) Ġ: ĠEntity G iant Z ombie ( to N MS World ( location . world )) Ġ{ ĊĊĠĠĠ Ġprotected Ġfun Ġinit Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġlocation . run Ġ{ Ġset Location ( x , Ġy , Ġz , Ġyaw , Ġpitch ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĠChange Ġthe Ġhead Ġrotation Ġof Ġthe Ġentity Ġ*/ ĊĠĠĠĠĠĠĠ Ġsuper . a K Ġ= Ġlocation . yaw ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġg iant Ġfrom Ġburn ing Ġby Ġfire ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġm () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġg iant Ġfrom Ġmoving ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġmove ( d 0 : ĠDouble , Ġd 1 : ĠDouble , Ġd 2 : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġg iant Ġfrom Ġcoll iding Ġwith Ġanyone ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcol lide ( entity : ĠEntity ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġg iant Ġfrom Ġgetting Ġdam aged ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdamage Entity ( damage source : ĠDamage Source ?, Ġf : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġg iant Ġfrom Ġmoving ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġg ( d 0 : ĠDouble , Ġd 1 : ĠDouble , Ġd 2 : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠCustom Ġentity Ġfor Ġw itch Ċ Ġ*/ Ċ open Ġclass ĠCustom W itch ( ĊĠĠĠ Ġprivate Ġval Ġlocation : ĠLocation Ċ ) Ġ: ĠEntity W itch ( to N MS World ( location . world )) Ġ{ ĊĊĠĠĠ Ġprotected Ġval Ġname Ho log ram Ġ= ĠHo log ram ( location . clone (). apply Ġ{ Ġy Ġ+= Ġ 1 . 2 5 Ġ}, Ġ" Â§ c W itch ") ĊĊĠĠĠ Ġprotected Ġfun Ġset Location () Ġ{ ĊĠĠĠĠĠĠĠ Ġlocation . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Location ( x , Ġy , Ġz , Ġyaw , Ġpitch ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . a K Ġ= Ġyaw ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClear s Ġ[ Path finder Goal Selector ] Ġusing ĠReflection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġclear Path finder Selector ( selector : ĠPath finder Goal Selector ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Private Field ( selector , Ġ" b ", ĠUnsafe List < Path finder Goal Selector >()) ĊĠĠĠĠĠĠĠ Ġset Private Field ( selector , Ġ" c ", ĠUnsafe List < Path finder Goal Selector >()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSp awns Ġthe Ġname Ġho log ram ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġspawn Ho log ram () Ġ{ ĊĠĠĠĠĠĠĠ Ġspawn Entity ( name Ho log ram , Ġfalse , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemove Ġthe Ġho log ram Ġwhen Ġthe Ġentity Ġdies ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdie () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . die () ĊĠĠĠĠĠĠĠ Ġname Ho log ram . bukkit Entity . remove () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOverride Ġw itch 's Ġtick Ġfunction Ġwith Ġnothing ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġm () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġw itch Ġfrom Ġmoving ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġmove ( d 0 : ĠDouble , Ġd 1 : ĠDouble , Ġd 2 : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġw itch Ġfrom Ġcoll iding Ġwith Ġanyone ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġcol lide ( entity : ĠEntity ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġw itch Ġfrom Ġgetting Ġdam aged ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdamage Entity ( damage source : ĠDamage Source ?, Ġf : ĠFloat ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrevent Ġthe Ġw itch Ġfrom Ġmoving ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġg ( d 0 : ĠDouble , Ġd 1 : ĠDouble , Ġd 2 : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠCustom Ġentity Ġfor Ġpot ions Ċ Ġ*/ Ċ open Ġclass ĠCustom P otion ( ĊĠĠĠ Ġworld : ĠWorld , ĊĠĠĠ Ġentity : ĠEntity Living , ĊĠĠĠ Ġtype : ĠInt Ċ ) Ġ: ĠEntity P otion ( to N MS World ( world ), Ġentity , Ġtype ) Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġlight ning Ġentity Ġon Ġlocation Ċ Ġ*/ Ċ open Ġclass ĠCustom Lightning ( ĊĠĠĠ Ġlocation : ĠLocation , ĊĠĠĠ Ġis Effect : ĠBoolean , Ċ ) Ġ: ĠEntity Lightning ( to N MS World ( location . world ), Ġlocation . x , Ġlocation . y , Ġlocation . z , Ġis Effect ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġt _() Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( get Private Field < Int >( Entity Lightning :: class , Ġthis , Ġ" life Ticks ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġworld . broadcast Packet ( loc X , Ġloc Y , Ġloc Z , Ġ 5 1 2 . 0 , ĠPacket Play Out Spawn Entity Weather ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġset Private Field ( Entity Lightning :: class , Ġthis , Ġ" c ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . t _() ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ @ Suppress (" DE PREC ATION ") Ċ open Ġclass ĠCustom Fall ing Block ( ĊĠĠĠ Ġtype : ĠMaterial , ĊĠĠĠ Ġlocation : ĠLocation Ċ ) Ġ: ĠEntity Fall ing Block ( to N MS World ( location . world ), Ġlocation . x , Ġlocation . y , Ġlocation . z , ĠBlock . getById ( type . id ). block Data ) Ċ