package Ġcom . ref ined mods . ref ined storage . data Ċ Ċ import Ġcom . ref ined mods . ref ined storage . data . sync . Simple Observer Ċ import Ġjava . lang . ref . Weak Reference Ċ import Ġnet . minecraft . util . math . Block Pos Ċ import Ġnet . minecraft . util . math . Direction Ċ import Ġorg . junit . jupiter . api . Assertions . assertEquals Ċ import Ġorg . junit . jupiter . api . DisplayName Ċ import Ġorg . junit . jupiter . api . Test Ċ Ċ @ DisplayName (" Base Block Entity ") Ċ class ĠBase Block Entity Data Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` Observer s Ġare Ġnotified Ġof Ġchanges ` (){ ĊĠĠĠĠĠĠĠ Ġvar Ġobserved Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġobserver Ġ= Ġobject Ġ: ĠSimple Observer Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonUpdate () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobserved Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBase Block Entity Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock Pos Ġ= ĠBlockPos ( 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠTest ĠBlock Ġposition Ġupdates ĊĠĠĠĠĠĠĠ Ġdata . ob servers . add ( Weak Reference ( observer )) ĊĠĠĠĠĠĠĠ Ġdata . block Pos Ġ= ĠBlockPos ( 2 , 3 , 4 ) ĊĠĠĠĠĠĠĠ Ġassert ( observed ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( data . block Pos , ĠBlockPos ( 2 , Ġ 3 , Ġ 4 )) ĊĊĊĠĠĠĠĠĠĠ Ġ// ĠTest Ġdirection Ġupdates ĊĠĠĠĠĠĠĠ Ġobserved Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġdata . direction Ġ= ĠDirection . WEST ĊĠĠĠĠĠĠĠ Ġassert ( observed ) ĊĠĠĠĠĠĠĠ ĠassertEquals ( data . direction , ĠDirection . WEST ) ĊĊĠĠĠ Ġ} Ċ }