@ file : Suppress (" DE PREC ATION ") Ċ package Ġju ux el . ad orn . block Ċ Ċ import Ġcom . google . common . base . Pred icates Ċ import Ġju ux el . ad orn . entity . Ad orn Entities Ċ import Ġnet . minecraft . block . Block Ċ import Ġnet . minecraft . block . BlockState Ċ import Ġnet . minecraft . entity . Spawn Reason Ċ import Ġnet . minecraft . entity . player . Player Entity Ċ import Ġnet . minecraft . state . StateManager Ċ import Ġnet . minecraft . state . property . Properties Ċ import Ġnet . minecraft . util . ActionResult Ċ 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 . Box Ċ import Ġnet . minecraft . world . World Ċ Ċ abstract Ġclass ĠSe at Block ( settings : ĠSettings ) Ġ: ĠBlock ( settings ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(@ Suppress (" Le aking This ") Ġis Sit ting Enabled ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault State Ġ= Ġdefault State . with ( OCC U PI ED , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġval Ġsit ting Y Offset : ĠDouble Ġ= Ġ 0 . 0 ĊĊĠĠĠ Ġoverride Ġfun Ġon Use ( ĊĠĠĠĠĠĠĠ Ġstate : ĠBlock State , Ġworld : ĠWorld , Ġpos : ĠBlockPos , Ġplayer : ĠPlayer Entity , Ġhand : ĠHand , Ġhit : ĠBlock Hit Result ĊĠĠĠ Ġ): ĠActionResult Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Sit ting Enabled ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Use ( state , Ġworld , Ġpos , Ġplayer , Ġhand , Ġhit ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactual Pos Ġ= Ġget Actual Seat Pos ( world , Ġstate , Ġpos ) ĊĠĠĠĠĠĠĠ Ġval Ġactual State Ġ= Ġif Ġ( pos Ġ== Ġactual Pos ) Ġstate Ġelse Ġworld . getBlock State ( actual Pos ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( state Ġ!== Ġactual State Ġ&& Ġactual State . block Ġ! is ĠSe at Block ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠActionResult . PASS ĊĊĠĠĠĠĠĠĠ Ġval Ġoccupied Ġ= Ġactual State [ OCC U PI ED ] ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! occup ied ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! world . is Client ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġentity Ġ= ĠAd orn Entities . S IT TING _ VE H IC LE . spawn ( world , Ġnull , Ġnull , Ġplayer , Ġactual Pos , ĠSpawn Reason . TRIGGER ED , Ġfalse , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġentity ?. set Pos ( actual Pos , Ġsit ting Y Offset ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġworld . set BlockState ( actual Pos , Ġactual State . with ( OCC U PI ED , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . start R iding ( entity , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActionResult . SUCCESS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActionResult . SUCCESS ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠActionResult . PASS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Break ( world : ĠWorld , Ġpos : ĠBlockPos , Ġstate : ĠBlock State , Ġplayer : ĠPlayer Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Break ( world , Ġpos , Ġstate , Ġplayer ) ĊĠĠĠĠĠĠĠ Ġif Ġ( world . is Client Ġ|| Ġ! is Sit ting Enabled ()) Ġreturn ĊĠĠĠĠĠĠĠ Ġworld . get Entities ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAd orn Entities . S IT TING _ VE H IC LE , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( get Actual Seat Pos ( world , Ġstate , Ġpos )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPred icates . always True () ĊĠĠĠĠĠĠĠ Ġ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . removeAll Pass engers () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . kill () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġget Actual Seat Pos ( world : ĠWorld , Ġstate : ĠBlock State , Ġpos : ĠBlockPos ) Ġ= Ġpos ĊĊĠĠĠ Ġoverride Ġfun Ġappend Properties ( builder : ĠState Manager . Builder < Block , ĠBlock State >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . append Properties ( builder ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Sit ting Enabled ()) Ġbuilder . add ( OCC U PI ED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġis Sit ting Enabled () Ġ= Ġtrue ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field Ġval ĠO CC U PI ED Ġ= ĠProperties . OCC U PI ED ĊĠĠĠ Ġ} Ċ } Ċ