package Ġme . han . m uff in . client . utils . extensions . mc . block čĊč Ċ import Ġme . han . m uff in . client . core . Globals č Ċ import Ġme . han . m uff in . client . utils . extensions . mc . entity . eye Position č Ċ import Ġme . han . m uff in . client . utils . extensions . mc . entity . is Alive č Ċ import Ġme . han . m uff in . client . utils . extensions . mc . world . get Visible Side s č Ċ import Ġme . han . m uff in . client . utils . extensions . mc . world . isVisible č Ċ import Ġme . han . m uff in . client . utils . extensions . mixin . render . dam aged Blocks č Ċ import Ġme . han . m uff in . client . utils . math . Vector Utils . to Vec 3 d Center č Ċ import Ġnet . minecraft . block .* č Ċ import Ġnet . minecraft . block . material . Material č Ċ import Ġnet . minecraft . block . state . I BlockState č Ċ import Ġnet . minecraft . entity . Entity č Ċ import Ġnet . minecraft . entity . item . Entity Item č Ċ import Ġnet . minecraft . entity . item . Entity XP Or b č Ċ import Ġnet . minecraft . init . Blocks č Ċ import Ġnet . minecraft . util . Enum Facing č Ċ import Ġnet . minecraft . util . math . Axis Aligned BB č Ċ import Ġnet . minecraft . util . math . Block Pos č Ċ import Ġnet . minecraft . util . math . Vec 3 d č Ċ import Ġkotlin . math . round čĊč Ċ val ĠBlockPos . state : ĠI BlockState Ġget () Ġ= ĠGlobals . mc . world . getBlock State ( this ) č Ċ val ĠBlockPos . material : ĠMaterial Ġget () Ġ= Ġthis . state . material č Ċ val ĠBlockPos . block : ĠBlock Ġget () Ġ= Ġthis . state . block čĊč Ċ val ĠBlockPos . is Air : ĠBoolean Ġget () Ġ= ĠGlobals . mc . world . is Air Block ( this ) č Ċ val ĠBlockPos . is Liquid : ĠBoolean Ġget () Ġ= Ġthis . state . is Liquid č Ċ val ĠBlockPos . can Be Clicked : ĠBoolean Ġget () Ġ= Ġthis . block . can Col lide Check ( this . state , Ġfalse ) Ġ&& ĠGlobals . mc . world . world Border . contains ( this ) čĊč Ċ // val ĠBlockPos . is Replace able : ĠBoolean Ġget () Ġ= Ġthis . state . is Replace able čĊč Ċ fun ĠBlockPos . get Hit Vec ( facing : ĠEnum Facing ): ĠVec 3 d Ġ{ čĊĠĠĠ Ġval Ġvec Ġ= Ġfacing . direction Vec čĊĠĠĠ Ġreturn ĠVec 3 d ( vec . x Ġ* Ġ 0 . 5 Ġ+ Ġ 0 . 5 Ġ+ Ġthis . x , Ġvec . y Ġ* Ġ 0 . 5 Ġ+ Ġ 0 . 5 Ġ+ Ġthis . y , Ġvec . z Ġ* Ġ 0 . 5 Ġ+ Ġ 0 . 5 Ġ+ Ġthis . z ) č Ċ } čĊč Ċ val ĠEnum Facing . hit Vec Offset : ĠVec 3 d Ġget () Ġ{ čĊĠĠĠ Ġval Ġvec Ġ= Ġthis . direction Vec čĊĠĠĠ Ġreturn ĠVec 3 d ( vec . x Ġ* Ġ 0 . 5 Ġ+ Ġ 0 . 5 , Ġvec . y Ġ* Ġ 0 . 5 Ġ+ Ġ 0 . 5 , Ġvec . z Ġ* Ġ 0 . 5 Ġ+ Ġ 0 . 5 ) č Ċ } čĊč Ċ val ĠBlockPos . collision Box : ĠAxis Aligned BB Ġget () Ġ= Ġthis . state . get Collision BoundingBox ( Globals . mc . world , Ġthis ) Ġ?: ĠAxis Aligned BB ( this ) č Ċ val ĠBlockPos . selected Box : ĠAxis Aligned BB Ġget () Ġ= Ġthis . state . getSelected BoundingBox ( Globals . mc . world , Ġthis ) Ġ?: ĠAxis Aligned BB ( this ) čĊč Ċ /** čĊ Ġ* ĠChecks Ġis Ġentity Ġcollision Ġcoll iding Ġwith Ġblock . čĊ Ġ* Ġ@ return Ġtrue Ġif Ġit Ġis Ġplace able čĊ Ġ*/ č Ċ val ĠBlockPos . can Place No Col lide : ĠBoolean Ġget () Ġ= čĊĠĠĠ Ġ! Globals . mc . world . get Entities Within AABB ( Entity :: class . java , Ġthis . collision Box ) čĊĠĠĠĠĠĠĠ Ġ. any Ġ{ Ġit Ġ! is ĠEntity Item Ġ&& Ġit Ġ! is ĠEntity XP Or b Ġ&& Ġit . is Alive Ġ} čĊč Ċ /** čĊ Ġ* ĠChecks Ġif Ġgiven Ġ[ this ] Ġis Ġable Ġto Ġplace Ġblock Ġin Ġit čĊ Ġ* Ġ@ return Ġtrue Ġplaying Ġis Ġnot Ġcoll iding Ġwith Ġ[ this ] Ġand Ġthere Ġis Ġblock Ġbelow Ġit čĊ Ġ*/ č Ċ fun ĠBlockPos . is Place able ( ignore Self Col lide : ĠBoolean Ġ= Ġfalse ): ĠBoolean Ġ{ čĊĠĠĠ Ġreturn Ġthis . state . is Replace able Ġ&& ĠGlobals . mc . world . check No Entity Collision ( this . collision Box , Ġif Ġ( ignore Self Col lide ) ĠGlobals . mc . player Ġelse Ġnull ) č Ċ } čĊč Ċ val ĠBlockPos . is Place able For Chest : ĠBoolean Ġget () Ġ= Ġthis . is Place able () Ġ&& Ġ! this . down (). state . is Replace able Ġ&& Ġthis . up (). is Air čĊč Ċ val ĠBlockPos . is Intercept edBy Others : ĠBoolean Ġget () Ġ= ĠGlobals . mc . world . loaded Entity List . any Ġ{ čĊĠĠĠ Ġit Ġ!= ĠGlobals . mc . player Ġ&& Ġit . is Alive Ġ&& Ġthis . collision Box . intersect s ( it . entity BoundingBox ) č Ċ } čĊč Ċ fun ĠBlockPos . isVisible ( entity : ĠEntity Ġ= ĠGlobals . mc . player , Ġtolerance : ĠDouble Ġ= Ġ 1 . 0 ): ĠBoolean Ġ= ĠGlobals . mc . world . isVisible ( entity , Ġthis , Ġtolerance ) čĊč Ċ val ĠBlockPos . has Ne ighbour : ĠBoolean Ġget () Ġ= ĠEnum Facing . values (). any Ġ{ Ġ! this . offset ( it ). state . is Replace able Ġ} čĊč Ċ val ĠBlockPos . first Side : ĠEnum Facing ? Ġget () Ġ= ĠEnum Facing . values (). first OrNull Ġ{ čĊĠĠĠ Ġval Ġoffset Pos Ġ= Ġthis . offset ( it ) čĊĠĠĠ Ġoffset Pos . can Be Clicked Ġ&& Ġ! offset Pos . is Place able () č Ċ } čĊč Ċ val ĠBlockPos . first Side Strict : ĠEnum Facing ? Ġget () Ġ= Ġthis . get Visible Side s (). first OrNull Ġ{ čĊĠĠĠ Ġval Ġoffset Pos Ġ= Ġthis . offset ( it ) čĊĠĠĠ Ġoffset Pos . can Be Clicked Ġ&& Ġ! offset Pos . is Place able () č Ċ } čĊč Ċ val ĠBlockPos . possible Fac ings : ĠHashSet < Enum Facing > Ġget () Ġ{ čĊĠĠĠ Ġval Ġavailable Fac ings Ġ= Ġhash Set Of < Enum Facing >() čĊčĊĠĠĠ Ġfor Ġ( facing Ġin ĠEnum Facing . values ()) Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġoffset Pos Ġ= Ġthis . offset ( facing ) čĊĠĠĠĠĠĠĠ Ġif Ġ( offset Pos . can Be Clicked Ġ&& Ġ! offset Pos . is Place able ()) Ġavailable Fac ings . add ( facing ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġreturn Ġavailable Fac ings č Ċ } čĊč Ċ val ĠBlockPos . block Hard ness : ĠFloat Ġget () Ġ= Ġthis . state . getBlock Hard ness ( Globals . mc . world , Ġthis ) čĊč Ċ val ĠBlockPos . block Damage : ĠInt Ġget () Ġ= čĊĠĠĠ ĠGlobals . mc . render Global . dam aged Blocks . values . first OrNull Ġ{ Ġit . position Ġ== Ġthis Ġ} ?. partial Block Damage Ġ?: Ġ 0 čĊč Ċ val ĠBlockPos . obb Center : ĠVec 3 d Ġget () Ġ{ čĊĠĠĠ Ġval Ġbb Ġ= Ġthis . state . get BoundingBox ( Globals . mc . world , Ġthis ) čĊĠĠĠ Ġreturn ĠVec 3 d ( čĊĠĠĠĠĠĠĠ Ġbb . min X Ġ+ Ġ( bb . max X Ġ- Ġbb . min X ) Ġ/ Ġ 2 . 0 , čĊĠĠĠĠĠĠĠ Ġbb . min Y Ġ+ Ġ( bb . max Y Ġ- Ġbb . min Y ) Ġ/ Ġ 2 . 0 , čĊĠĠĠĠĠĠĠ Ġbb . min Z Ġ+ Ġ( bb . max Z Ġ- Ġbb . min Z ) Ġ/ Ġ 2 . 0 čĊĠĠĠ Ġ) č Ċ } čĊč Ċ val ĠBlockPos . distance To Center : ĠDouble Ġget () Ġ= ĠGlobals . mc . player . eye Position . distance To ( this . to Vec 3 d Center ()) čĊč Ċ fun ĠDouble . get Middle Position (): ĠDouble Ġ{ čĊĠĠĠ Ġvar Ġposition Final Ġ= Ġround ( this ) čĊĠĠĠ Ġif Ġ( round ( this ) Ġ> Ġthis ) Ġposition Final Ġ-= Ġ 0 . 5 Ġelse Ġif Ġ( round ( this ) Ġ<= Ġthis ) Ġposition Final Ġ+= Ġ 0 . 5 čĊĠĠĠ Ġreturn Ġposition Final č Ċ } čĊč Ċ val ĠBlockPos . need Tile S ne ak : ĠBoolean Ġget () Ġ{ čĊĠĠĠ Ġreturn ĠGlobals . mc . world . loaded TileEntity List . any Ġ{ Ġit . pos Ġ== Ġthis Ġ} Ġ|| čĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Ġis ĠBlock Bed Ġ|| Ġblock Ġis ĠBlock Note Ġ|| čĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Ġis ĠBlock Door Ġ|| Ġblock Ġis ĠBlock Trap Door Ġ|| čĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Ġis ĠBlock Fence Gate Ġ|| Ġblock Ġis ĠBlock Button Ġ|| Ġblock Ġis ĠBlock An vil Ġ|| čĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Ġis ĠBlock Workbench Ġ|| Ġblock Ġis ĠBlock Cake Ġ|| Ġblock Ġis ĠBlock Red stone Di ode č Ċ } čĊč Ċ val ĠI BlockState . is Full Box : ĠBoolean Ġget () Ġ= ĠGlobals . mc . world ?. let Ġ{ čĊĠĠĠ Ġthis . get Collision BoundingBox ( it , ĠBlockPos . ORIGIN ) č Ċ } Ġ== ĠBlock . FULL _ BLOCK _ AABB čĊč Ċ val ĠBlockPos . is Full Box : ĠBoolean Ġget () Ġ= ĠGlobals . mc . world ?. let Ġ{ čĊĠĠĠ Ġcollision Box č Ċ } Ġ== ĠBlock . FULL _ BLOCK _ AABB čĊč Ċ val ĠI BlockState . is Black listed : ĠBoolean Ġget () Ġ= Ġblock Black list . contains ( this . block ) č Ċ val ĠI BlockState . is Liquid : ĠBoolean Ġget () Ġ= Ġthis . material . is Liquid č Ċ val ĠI BlockState . is Water : ĠBoolean Ġget () Ġ= Ġthis . block Ġ== ĠBlocks . WATER č Ċ val ĠI BlockState . is Replace able : ĠBoolean Ġget () Ġ= Ġthis . material . is Replace able