package Ġme . ste ven . ind rev . blocks Ċ Ċ import Ġme . ste ven . ind rev . block entities . Machine Block Entity Ċ import Ġme . ste ven . ind rev . utils . Tier Ċ import Ġnet . minecraft . block . Block Ċ import Ġnet . minecraft . block . BlockState Ċ import Ġnet . minecraft . entity . player . Player Inventory Ċ import Ġnet . minecraft . item . Item Placement Context Ċ import Ġnet . minecraft . screen . Screen Handler Ċ import Ġnet . minecraft . screen . Screen HandlerContext Ċ import Ġnet . minecraft . state . StateManager Ċ import Ġnet . minecraft . state . property . Direction Property Ċ import Ġnet . minecraft . state . property . Properties Ċ Ċ class ĠF acing Machine Block ( ĊĠĠĠ Ġsettings : ĠSettings , ĊĠĠĠ Ġtier : ĠT ier , ĊĠĠĠ Ġconfig : ĠAny ?, ĊĠĠĠ Ġscreen Handler : Ġ(( Int , ĠPlayer Inventory , ĠScreen HandlerContext ) Ġ-> ĠScreen Handler )? , ĊĠĠĠ Ġblock Entity Provider : Ġ() Ġ-> ĠMachine Block Entity Ċ ) Ġ: ĠMachine Block ( settings , Ġtier , Ġconfig , Ġscreen Handler , Ġblock Entity Provider ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Placement State ( ctx : ĠItem Placement Context ?): ĠBlock State ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . get Placement State ( ctx ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . default State . with ( F ACING , Ġctx ?. player Look Direction ?. op pos ite ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġappend Properties ( builder : ĠState Manager . Builder < Block , ĠBlock State > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Properties ( builder ) ĊĠĠĠĠĠĠĠ Ġbuilder ?. add ( F ACING ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠF ACING : ĠDirection Property Ġ= ĠProperties . F ACING ĊĠĠĠ Ġ} Ċ }