package Ġcom . hus ker . minecraft . launcher . app . scenes Ċ Ċ import Ġcom . hus ker . minecraft . launcher . app . Resources Ċ import Ġcom . hus ker . minecraft . launcher . tools . fx . Anchor Utils Ċ import Ġjavafx . geometry . Point 2 D Ċ import Ġjavafx . scene . Node Ċ import Ġjavafx . scene . layout . Anchor Pane Ċ import Ġjavafx . scene . layout . Pane Ċ import Ġjavafx . scene . paint . Color Ċ import Ġjava . util . concurrent . atomic . Atomic Integer Ċ Ċ abstract Ġclass ĠTab ( var Ġtitle : ĠString , Ġvar Ġtab Node Ġ: ĠNode Ġ= ĠP ane ()) Ġ{ ĊĊĠĠĠ Ġvar Ġbottom Ġ= Ġfalse ĊĠĠĠ Ġvar Ġcolor : ĠColor Ġ= ĠColor . color ( 1 0 2 . 0 Ġ/ Ġ 2 5 5 , Ġ 1 0 2 . 0 Ġ/ Ġ 2 5 5 , Ġ 1 0 2 . 0 Ġ/ Ġ 2 5 5 ) ĊĊĠĠĠ Ġvar Ġcontent : ĠP ane Ġ= ĠP ane () ĊĠĠĠ Ġval Ġscene : ĠBase Scene ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBase Scene . instance ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġtitle Visible Ġ: ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( scene . selected Tab Ġ== Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġscene . title Visible ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( scene . selected Tab Ġ== Ġthis ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscene . title Visible Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġon Show Listeners Ġ= Ġarray ListOf < Runnable >() ĊĠĠĠ Ġvar Ġon Hide Listeners Ġ= Ġarray ListOf < Runnable >() ĊĠĠĠ Ġvar Ġcurrent Animations Ġ= ĠAtomicInteger () ĊĊĠĠĠ Ġfun Ġapply FX ( name Ġ: ĠString ){ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= ĠResources . f xml ("$ name / content . f xml ") ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e Ġ: ĠException ){} ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Scene . instance . stylesheets . add ( Resources . style ("$ name / content . css ")) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e Ġ: ĠException ){} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfind ById ( selector Ġ: ĠString ) Ġ: ĠNode Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontent . lookup ("# $ selector ") ĊĠĠĠ Ġ} Ċ Ċ }