package Ġio . github . red gr ape fruit 0 9 . golden forge . block Ċ Ċ import Ġio . github . red gr ape fruit 0 9 . golden forge . block . entity . Fragment Re in for cer Block Entity Ċ import Ġio . github . red gr ape fruit 0 9 . golden forge . util . on Client Ċ import Ġnet . minecraft . block . Block Ċ import Ġnet . minecraft . block . Block Entity Provider Ċ import Ġnet . minecraft . block . BlockState Ċ import Ġnet . minecraft . block . entity . Block Entity Ċ import Ġnet . minecraft . block . entity . Block Entity Ticker Ċ import Ġnet . minecraft . block . entity . Block EntityType Ċ import Ġnet . minecraft . entity . player . Player Entity Ċ import Ġnet . minecraft . item . Item Placement Context Ċ import Ġnet . minecraft . screen . Named Screen Handler Factory Ċ import Ġnet . minecraft . state . StateManager Ċ import Ġnet . minecraft . state . property . Direction Property Ċ import Ġnet . minecraft . state . property . Properties Ċ import Ġnet . minecraft . util . ActionResult Ċ import Ġnet . minecraft . util . Block Mirror Ċ import Ġnet . minecraft . util . Block Rotation Ċ import Ġnet . minecraft . util . Hand Ċ import Ġnet . minecraft . util . hit . Block Hit Result Ċ import Ġnet . minecraft . util . math . Block Pos Ċ import Ġnet . minecraft . util . math . Direction Ċ import Ġnet . minecraft . world . World Ċ Ċ /** Ċ Ġ* ĠThe Ġfragment Ġrein for cer Ġblock . ĠAllows Ġadding Ġmore Ġmaterials Ġto Ġincrease Ġfragment Ġvalue . Ċ Ġ*/ Ċ class ĠFragment Re in for cer Block ( settings : ĠSettings ) Ġ: ĠBlock ( settings ), ĠBlock Entity Provider Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 0 Ġslots Ġfor Ġ 1 0 Ġtypes Ġof Ġinputs ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 Ġinput Ġslot ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 Ġoutput Ġslot ĊĠĠĠĠĠĠĠ Ġ// Ġ 1 Ġfailed Ġoutput Ġslot Ġ( for Ġcor ru ptions Ġduring Ġthe Ġprocess ) ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠIN VENT ORY _ SIZE Ġ= Ġ 1 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfacing : ĠDirection Property ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġdefault State Ġ= Ġstate Manager . default State . with ( facing , ĠDirection . NORTH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġappend Properties ( builder : ĠState Manager . Builder < Block , ĠBlock State >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Properties ( builder ) ĊĊĠĠĠĠĠĠĠ Ġfacing Ġ= ĠProperties . HORIZONTAL _ F ACING ĊĠĠĠĠĠĠĠ Ġbuilder . add ( facing ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrotate ( state : ĠBlock State , Ġrotation : ĠBlock Rotation ): ĠBlock State Ġ= ĊĠĠĠĠĠĠĠ Ġstate . with ( facing , Ġrotation . rotate ( state . get ( facing ))) ĊĊĠĠĠ Ġoverride Ġfun Ġmirror ( state : ĠBlock State , Ġmirror : ĠBlock Mirror ): ĠBlock State Ġ= ĊĠĠĠĠĠĠĠ Ġstate . rotate ( mirror . get Rotation ( state . get ( facing ))) ĊĊĠĠĠ Ġoverride Ġfun Ġget Placement State ( context : ĠItem Placement Context ): ĠBlock State Ġ= ĊĠĠĠĠĠĠĠ Ġdefault State . with ( facing , Ġcontext . player Facing . op pos ite ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Block Entity ( pos : ĠBlockPos , Ġstate : ĠBlock State ): ĠBlock Entity Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFragment Re in for cer Block Entity ( pos , Ġstate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Use ( ĊĠĠĠĠĠĠĠ Ġstate : ĠBlock State , ĊĠĠĠĠĠĠĠ Ġworld : ĠWorld , ĊĠĠĠĠĠĠĠ Ġpos : ĠBlockPos , ĊĠĠĠĠĠĠĠ Ġplayer : ĠPlayer Entity , ĊĠĠĠĠĠĠĠ Ġhand : ĠHand , ĊĠĠĠĠĠĠĠ Ġhit : ĠBlock Hit Result , ĊĠĠĠ Ġ): ĠActionResult Ġ{ ĊĠĠĠĠĠĠĠ Ġon Client Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= Ġstate . create Screen Handler Factory ( world , Ġpos ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . open Handled Screen ( factory ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠActionResult . SUCCESS ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Screen Handler Factory ( ĊĠĠĠĠĠĠĠ Ġstate : ĠBlock State , ĊĠĠĠĠĠĠĠ Ġworld : ĠWorld , ĊĠĠĠĠĠĠĠ Ġpos : ĠBlockPos , ĊĠĠĠ Ġ): ĠNamed Screen Handler Factory ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġimpl Ġcopied Ġfrom ĠBlock With Entity ĊĠĠĠĠĠĠĠ Ġval Ġblock Entity Ġ= Ġworld . getBlock Entity ( pos ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( block Entity Ġis ĠNamed Screen Handler Factory ) Ġ( block Entity Ġas ĠNamed Screen Handler Factory ?) !! Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠBlock Entity > Ġget Ticker ( ĊĠĠĠĠĠĠĠ Ġworld : ĠWorld , ĊĠĠĠĠĠĠĠ Ġstate : ĠBlock State , ĊĠĠĠĠĠĠĠ Ġtype : ĠBlock EntityType < T >, ĊĠĠĠ Ġ): ĠBlock Entity Ticker < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBlock Entity Ticker Ġ{ Ġworld 0 , Ġblock Pos , Ġblock State , Ġblock Entity Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFragment Re in for cer Block Entity . tick ( world 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Pos , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock Entity Ġas ĠFragment Re in for cer Block Entity ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }