package Ġio . v ort et ty . w ashing Machine . block . entity čĊč Ċ import Ġio . v ort et ty . w ashing Machine . block . motor Block č Ċ import Ġnet . minecraft . block . Block č Ċ import Ġnet . minecraft . block . Block Entity Provider č Ċ import Ġnet . minecraft . block . BlockState č Ċ import Ġnet . minecraft . block . Blocks č Ċ import Ġnet . minecraft . block . entity . Block Entity č Ċ import Ġnet . minecraft . client . Minecraft Client č Ċ import Ġnet . minecraft . client . render . Overlay Texture č Ċ import Ġnet . minecraft . client . render . Render Layers č Ċ import Ġnet . minecraft . client . render . Vertex Consumer Provider č Ċ import Ġnet . minecraft . client . render . World Renderer č Ċ import Ġnet . minecraft . client . render . block . entity . Block Entity Render Dispatcher č Ċ import Ġnet . minecraft . client . render . block . entity . Block Entity Renderer č Ċ import Ġnet . minecraft . client . render . model . B aked Model č Ċ import Ġnet . minecraft . client . render . model . json . Model Transformation č Ċ import Ġnet . minecraft . client . util . math . Matrix Stack č Ċ import Ġnet . minecraft . client . util . math . Vector 3 f č Ċ import Ġnet . minecraft . item . Item Convert ible č Ċ import Ġnet . minecraft . item . ItemStack č Ċ import Ġnet . minecraft . item . Items č Ċ import Ġnet . minecraft . util . math . Block Pos č Ċ import Ġnet . minecraft . util . math . Quaternion č Ċ import Ġkotlin . math . abs č Ċ import Ġkotlin . math . cos č Ċ import Ġkotlin . math . sin čĊč Ċ class Ġmotor BER ( dispatcher : ĠBlock Entity Render Dispatcher ): ĠBlock Entity Renderer < motor Block Entity >( dispatcher ){ čĊĠĠĠ Ġvar Ġmanager Ġ= ĠMinecraft Client . getInstance (). getBlock Render Manager () čĊčĊĠĠĠ Ġfun Ġget Light ( pos : ĠBlockPos , Ġentity : ĠBlock Entity ): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠWorld Renderer . get Light map Coordinates ( entity . get World (), Ġpos ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġaverage Light ( pos : ĠBlockPos , Ġentity : ĠBlock Entity ): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġarray Ġ= Ġint ArrayOf ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Light ( pos . up (), Ġentity ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Light ( pos . down (), Ġentity ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Light ( pos . east (), Ġentity ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Light ( pos . west (), Ġentity ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Light ( pos . north (), Ġentity ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Light ( pos . south (), Ġentity ) čĊĠĠĠĠĠĠĠ Ġ) čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġarray . average (). toInt () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġrender ( Ġentity : Ġmotor Block Entity , Ġtick Delta : ĠFloat , Ġmatrices : ĠMatrix Stack , Ġvertex Consum ers : ĠVertex Consumer Provider , Ġlight : ĠInt , Ġoverlay : ĠInt ) Ġ{ čĊĠĠĠĠĠĠĠ Ġvar Ġstate Ġ= ĠBlocks . IRON _ BAR S . getDefault State () čĊĠĠĠĠĠĠĠ Ġvar Ġmodel Ġ= Ġmanager . getModel ( state ) čĊčĊĠĠĠĠĠĠĠ Ġif ( entity . world !!. is Re ceiving Red stone Power ( entity . pos )) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity . current Rot Ġ+= Ġ( entity . get Cached State (). block Ġas Ġmotor Block ). current Speed čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġ// Ġthe ĠX Ġbar čĊĠĠĠĠĠĠĠ Ġmatrices . push () čĊčĊĠĠĠĠĠĠĠ Ġmatrices . translate ( 0 . 0 , Ġ- 0 . 0 6 2 5 * 2 , Ġ 0 . 0 ) čĊĠĠĠĠĠĠĠ Ġmatrices . translate ( 0 . 5 , Ġ 0 . 5 , Ġ 0 . 5 ) čĊĠĠĠĠĠĠĠ Ġmatrices . multiply ( Vector 3 f . POSITIVE _ X . get Degrees Quaternion ( 9 0 f )) čĊĠĠĠĠĠĠĠ Ġmatrices . multiply ( Vector 3 f . POSITIVE _ Y . get Degrees Quaternion ( entity . current Rot )) čĊĠĠĠĠĠĠĠ Ġmatrices . translate (- 0 . 5 , Ġ- 0 . 5 , Ġ- 0 . 5 ) čĊčĊĠĠĠĠĠĠĠ Ġ// model . ambient Oc clusion Ġ= Ġ 5 čĊčĊĠĠĠĠĠĠĠ Ġmanager . model Renderer . render ( entity . world , Ġmodel , Ġ Ġstate , Ġentity . pos , Ġmatrices , Ġvertex Consum ers . get Buffer ( Render Layers . get Moving Block Layer ( state )), Ġfalse , Ġentity . world !!. random , Ġstate . get Rendering Seed ( entity . pos ), ĠOverlay Texture . DEFAULT _ UV ) čĊčĊĠĠĠĠĠĠĠ Ġmatrices . pop () čĊčĊĠĠĠĠĠĠĠ Ġ// Ġthe ĠZ Ġbar čĊĠĠĠĠĠĠĠ Ġmatrices . push () čĊčĊĠĠĠĠĠĠĠ Ġmatrices . translate ( 0 . 0 , Ġ- 0 . 0 6 2 5 * 2 , Ġ 0 . 0 ) čĊĠĠĠĠĠĠĠ Ġmatrices . translate ( 0 . 5 , Ġ 0 . 5 , Ġ 0 . 5 ) čĊĠĠĠĠĠĠĠ Ġmatrices . multiply ( Vector 3 f . POSITIVE _ Z . get Degrees Quaternion ( 9 0 f )) čĊĠĠĠĠĠĠĠ Ġmatrices . multiply ( Vector 3 f . POSITIVE _ Y . get Degrees Quaternion ( entity . current Rot )) čĊĠĠĠĠĠĠĠ Ġmatrices . translate (- 0 . 5 , Ġ- 0 . 5 , Ġ- 0 . 5 ) čĊčĊĠĠĠĠĠĠĠ Ġ// model . ambient Oc clusion Ġ= Ġ 5 čĊčĊĠĠĠĠĠĠĠ Ġmanager . model Renderer . render ( entity . world , Ġmodel , Ġ Ġstate , Ġentity . pos , Ġmatrices , Ġvertex Consum ers . get Buffer ( Render Layers . get Moving Block Layer ( state )), Ġfalse , Ġentity . world !!. random , Ġstate . get Rendering Seed ( entity . pos ), ĠOverlay Texture . DEFAULT _ UV ) čĊčĊĠĠĠĠĠĠĠ Ġmatrices . pop () čĊčĊĠĠĠĠĠĠĠ Ġ// Ġthe ĠY Ġbar čĊĠĠĠĠĠĠĠ Ġmatrices . push () čĊčĊĠĠĠĠĠĠĠ Ġmatrices . translate ( 0 . 5 , Ġ 0 . 5 , Ġ 0 . 5 ) čĊĠĠĠĠĠĠĠ Ġmatrices . multiply ( Vector 3 f . POSITIVE _ Y . get Degrees Quaternion (- entity . current Rot )) čĊĠĠĠĠĠĠĠ Ġmatrices . translate (- 0 . 5 , Ġ- 0 . 5 , Ġ- 0 . 5 ) čĊčĊĠĠĠĠĠĠĠ Ġ// model . ambient Oc clusion Ġ= Ġ 5 čĊčĊĠĠĠĠĠĠĠ Ġmanager . model Renderer . render ( entity . world , Ġmodel , Ġ Ġstate , Ġentity . pos , Ġmatrices , Ġvertex Consum ers . get Buffer ( Render Layers . get Moving Block Layer ( state )), Ġfalse , Ġentity . world !!. random , Ġstate . get Rendering Seed ( entity . pos ), ĠOverlay Texture . DEFAULT _ UV ) čĊčĊĠĠĠĠĠĠĠ Ġmatrices . pop () čĊĠĠĠ Ġ} č Ċ }