package Ġcom . k ne el awk . mod pack editor . ui . dependency Ċ Ċ import Ġcom . k ne el awk . mod pack editor . data . Addon Id Ċ import Ġcom . k ne el awk . mod pack editor . tasks . Dependency Type Ċ import Ġcom . k ne el awk . mod pack editor . ui . Mod pack Editor Main Controller Ċ import Ġcom . k ne el awk . mod pack editor . ui . Mod pack Model Ċ import Ġcom . k ne el awk . mod pack editor . ui . util . Element Utils Ċ import Ġcom . k ne el awk . mod pack editor . ui . util . Minecraft Version Filter Fragment Ċ import Ġcom . k ne el awk . mod pack editor . ui . util . Mod List State Ċ import Ġjavafx . beans . property . Simple Boolean Property Ċ import Ġjavafx . beans . property . Simple Double Property Ċ import Ġjavafx . beans . property . Simple String Property Ċ import Ġjavafx . collections . FX Collections Ċ import Ġjavafx . geometry . Pos Ċ import Ġjavafx . scene . layout . Priority Ċ import Ġt orn ad of x .* Ċ Ċ /** Ċ Ġ* ĠFragment Ġfor Ġcollecting Ġthe Ġdependencies Ġof Ġa Ġmod Ġfile Ġor Ġcollection Ġof Ġmod Ġfiles . Ċ Ġ*/ Ċ class ĠDependency Collector Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġval Ġroots : ĠList < Addon Id > Ġby Ġparam () ĊĠĠĠ Ġval Ġshow Required By : ĠBoolean Ġby Ġparam ( false ) ĊĊĠĠĠ Ġprivate Ġval Ġmodel : ĠMod pack Model Ġby Ġinject () ĊĠĠĠ Ġprivate Ġval Ġelement Utils : ĠElement Utils Ġby Ġinject () ĊĠĠĠ Ġprivate Ġval Ġmod List State : ĠMod List State Ġby Ġinject () ĊĠĠĠ Ġprivate Ġval Ġmain Controller : ĠMod pack Editor Main Controller Ġby Ġinject () ĊĊĠĠĠ Ġprivate Ġval Ġprimary Mod Name Ġ= Ġstring Property ("") ĊĠĠĠ Ġprivate Ġval Ġdescription Title Ġ= Ġif Ġ( roots . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Controller . mod pack Title . string Binding ( primary Mod Name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ it Ġ- Ġ${ primary Mod Name . value } Ġ- ĠDependency ĠScanner " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Controller . mod pack Title . string Binding Ġ{ Ġ"$ it Ġ- ĠDependency ĠScanner " Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġcollecting Ġ= ĠSimple Boolean Property ( false ) ĊĠĠĠ Ġprivate Ġval Ġcollect Progress Ġ= ĠSimple Double Property ( 0 . 0 ) ĊĠĠĠ Ġprivate Ġval Ġcollect Status Ġ= ĠSimple String Property (" Not Ġcollected .") ĊĊĠĠĠ Ġprivate Ġval Ġcollected Dependencies Ġ= Ġlist Property < Dependency Collector Element >( FX Collections . observable ArrayList ()) ĊĊĠĠĠ Ġoverride Ġval Ġroot Ġ= Ġv box Ġ{ ĊĠĠĠĠĠĠĠ Ġpadding Ġ= Ġin sets ( 2 5 . 0 ) ĊĠĠĠĠĠĠĠ Ġspacing Ġ= Ġ 1 0 . 0 ĊĠĠĠĠĠĠĠ Ġalignment Ġ= ĠPos . CENTER ĊĊĠĠĠĠĠĠĠ Ġh box Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspacing Ġ= Ġ 1 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable When ( collect ing . not ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel (" Minecraft Ġversion Ġfilter :") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd < Minecraft Version Filter Fragment >() ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton (" Re - Scan ĠDependencies ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxWidth Ġ= ĠDouble . MAX _ VALUE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable When ( collect ing . not ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscan Mod Dependencies () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlabel ( collect Status ) ĊĠĠĠĠĠĠĠ Ġprogress bar ( collect Progress ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxWidth Ġ= ĠDouble . MAX _ VALUE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtable view ( collected Dependencies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn (" Add ", ĠDependency Collector Element :: enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref Width ( 5 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminWidth ( 5 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcell Fragment ( Dependency Collector Enable Fragment :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmake Editable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreadonly Column (" Info ", ĠDependency Collector Element :: dependency ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpref Width ( 8 0 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminWidth ( 5 0 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcell Fragment ( Dependency Collector Info Fragment :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Resize Policy Ġ= ĠSmart Resize . POLICY ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġh grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv grow Ġ= ĠPriority . ALWAYS ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxWidth Ġ= ĠDouble . MAX _ VALUE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxHeight Ġ= ĠDouble . MAX _ VALUE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Before Show () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( current Stage !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 1 2 8 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 7 2 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠminWidth Ġ= Ġ 5 0 0 . 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠminHeight Ġ= Ġ 4 0 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dock () Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Property . bind ( description Title ) ĊĠĠĠĠĠĠĠ Ġif Ġ( roots . size Ġ== Ġ 1 ) Ġrun Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġelement Utils . load Mod Name ( roots . first ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Later Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Mod Name . value Ġ= Ġname ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġprivate Ġfun Ġscan Mod Dependencies () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġcollecting . value Ġ= Ġtrue Ċ // ĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġmod List State . collect Dependencies Task ( roots , Ġmap Of (), Ġmodel . mod pack Mods . map Ġ{ Ġit . projectId Ġ}. toSet ()) Ċ // ĠĠĠĠĠĠĠ Ġcollect Progress . bind ( task . progress Property ()) Ċ // ĠĠĠĠĠĠĠ Ġcollect Status . bind ( task . message Property ()) Ċ // ĠĠĠĠĠĠĠ Ġtask . success Ġ{ Ġlist Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġcollecting . value Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġcollected Dependencies . set All ( list . map Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDependency Collector Element ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSimple Boolean Property ( it . highest Priority . type Ġhigher Priority Than ĠDependency Type . OPTIONAL ), Ġit ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġtask . fail Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġcollecting . value Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġtask . cancel Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġcollecting . value Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ } Ċ