package Ġorg . j ren ner . lear ng l čĊč Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . Stage č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Table č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . ui . Label č Ċ import Ġcom . badlogic . gdx . G dx č Ċ import Ġcom . badlogic . gdx . scenes . scene 2 d . Actor č Ċ import Ġcom . badlogic . gdx . utils . Align č Ċ import Ġcom . badlogic . gdx . utils . StringBuilder č Ċ import Ġorg . j ren ner . Ren StringBuilder č Ċ import Ġorg . j ren ner . lear ng l . utils . plus čĊč Ċ class ĠH UD Ġ{ čĊĠĠĠ Ġval Ġstage Ġ= ĠStage () čĊĠĠĠ Ġval Ġtable Ġ= ĠTable () čĊĠĠĠ Ġval Ġinfo : ĠLabel Ġ= ĠLabel (" Info ", Ġskin ) čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġrefresh () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġrefresh () Ġ{ čĊĠĠĠĠĠĠĠ Ġtable . clear () čĊĠĠĠĠĠĠĠ Ġtable . setFill Parent ( true ) čĊĠĠĠĠĠĠĠ Ġtable . align ( Align . left Ġor ĠAlign . top ) čĊĠĠĠĠĠĠĠ Ġfun Ġlabel ( act : ĠActor ) Ġ= Ġtable . add ( act ). align ( Align . left Ġor ĠAlign . top ). row () čĊĠĠĠĠĠĠĠ Ġlabel ( info ) čĊĠĠĠĠĠĠĠ Ġstage . add Actor ( table ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġvar Ġaccumulated Time Ġ= Ġ 0 f čĊčĊĠĠĠ Ġfun Ġis Ready For Update (): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġinterval Ġ= Ġ 0 . 1 f čĊĠĠĠĠĠĠĠ Ġif Ġ( acc umulated Time Ġ>= Ġinterval ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccumulated Time Ġ-= Ġinterval čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġreturn Ġfalse čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġval Ġsb Ġ= ĠRen StringBuilder () čĊčĊĠĠĠ Ġfun Ġupdate ( dt : ĠFloat ) Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( is Ready For Update ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb . delete ( 0 , Ġsb . sb Length ()) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ" FPS : Ġ" Ġ+ ĠG dx . graphics . get Frames PerSecond (). toString () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Memory \ n \ t Java : Ġ${ G dx . app . get Java Heap () Ġ/ Ġ 1 0 0 0 0 0 0 } ĠMB \ n \ t Native : Ġ${ G dx . app . get Native Heap () Ġ/ Ġ 1 0 0 0 0 0 0 } ĠMB " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Chunks : Ġ${ world . chunks . size }, ĠRender ed : Ġ${ view . chunks Rendered }" čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Chunk Queue : Ġ${ world . chunk Creation Queue . size }" čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġview . camera . position čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Chunks , Ġcreated : Ġ${ world . chunks Created }, Ġremoved : Ġ${ world . chunks Removed }" čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcam E lev Ġ= Ġworld . get Elevation ( c . x , Ġc . z ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Camera : Ġ%. 1 f , Ġ%. 1 f Ġ%. 1 f \ n \ t Alt itude Ġabove Ġground : Ġ$ cam E lev ". format ( c . x , Ġc . y , Ġc . z ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmove Mode Ġ= Ġif Ġ( view . walk ing Enabled ) Ġ" Walk ing " Ġelse Ġ" F lying " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Movement Ġmode : Ġ${ move Mode }" čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n View ĠDistance : Ġ${ View . max View Dist }" čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n WARNING : Ġ\ n High Ġview Ġdistances Ġrequire \ n exponent ially Ġlarge Ġamounts Ġof Ġmemory " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n \ n CONTRO LS :\ n \ t W , ĠA , ĠS , ĠD Ġto Ġmove \ n \ t Click Ġand Ġhold Ġmouse Ġto Ġlook Ġaround \ n \ t - Ġand Ġ+ Ġto Ġchange Ġview Ġdistance " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġsb Ġ+ Ġ"\ n Space Ġto Ġswitch Ġf lying / walk ing " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfo . setText ( sb . toString ()) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġvar Ġenabled Ġ= Ġtrue čĊčĊĠĠĠ Ġfun Ġrender ( dt : ĠFloat ) Ġ{ čĊĠĠĠĠĠĠĠ Ġaccumulated Time Ġ+= Ġdt čĊĠĠĠĠĠĠĠ Ġif Ġ( enabled ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ( dt ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġstage . act ( dt ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġstage . draw () čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }