/* Ċ Ġ* ĠWorld Edit , Ġa ĠMinecraft Ġworld Ġmanipulation Ġtoolkit Ċ Ġ* ĠCopyright Ġ( C ) Ġsk 8 9 q Ġ< http :// www . sk 8 9 q . com > Ċ Ġ* ĠCopyright Ġ( C ) ĠWorld Edit Ġteam Ġand Ġcontributors Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ Ġ* Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ Ġ* Ġthe ĠFree ĠSoftware ĠFoundation , Ġeither Ġversion Ġ 3 Ġof Ġthe ĠLicense , Ġor Ċ Ġ* Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ Ġ* Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ Ġ* ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ Ġ* ĠGNU ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġalong Ġwith Ġthis Ġprogram . Ġ ĠIf Ġnot , Ġsee Ġ< https :// www . gnu . org / licenses />. Ċ Ġ*/ Ċ Ċ package Ġcom . sk 8 9 q . wor l ded it . internal . util Ċ Ċ import Ġcom . google . common . base . Strings Ċ import Ġcom . sk 8 9 q . wor l ded it . World Edit Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Bio me Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Chunk Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Clipboard Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . General Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Generation Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . History Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Navigation Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Region Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Script ing Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Selection Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Snapshot Util Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Tool Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Tool Util Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . Utility Commands Ċ import Ġcom . sk 8 9 q . wor l ded it . command . util . Permission Condition Ċ import Ġcom . sk 8 9 q . wor l ded it . internal . command . Command Util Ċ import Ġcom . sk 8 9 q . wor l ded it . util . formatting . text . Text Component Ċ import Ġorg . engine hub . p ist on . Command Ċ import Ġorg . engine hub . p ist on . config . Text Config Ċ import Ġorg . engine hub . p ist on . part . Sub Command Part Ċ import Ġorg . engine hub . p ist on . util . Help Generator Ċ import Ġjava . nio . file . Files Ċ import Ġjava . nio . file . Paths Ċ import Ġjava . util . stream . Stream Ċ import Ġkotlin . streams . toList Ċ Ċ class ĠDocumentation Printer Ġprivate Ġconstructor () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġname Regex Ġ= ĠRegex (" name Ġ= Ġ\" (. + ?) \" ") ĊĠĠĠ Ġprivate Ġval Ġcommands Ġ= ĠWorld Edit . getInstance (). platform Manager . platform Command Manager . command Manager . all Commands ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . name Ġto Ġit Ġ}. toList (). toMap () ĊĠĠĠ Ġprivate Ġval Ġcmd Output Ġ= ĠStringBuilder () ĊĠĠĠ Ġprivate Ġval Ġperms Output Ġ= ĠStringBuilder () ĊĠĠĠ Ġprivate Ġval Ġmatched Commands Ġ= Ġmutable Set Of < String >() ĊĊĠĠĠ Ġprivate Ġinline Ġfun Ġ< re ified ĠT > Ġfind Commands In (): ĠSequence < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsource File Ġ= ĠPaths . get (" wor l ded it - core / src / main / java /" Ġ+ ĠT :: class . qualified Name !!. replace ('.', Ġ'/') Ġ+ Ġ". java ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( Files . exists ( source File )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Source Ġnot Ġfound Ġfor Ġ${ T :: class . qualified Name }, Ġlooked Ġat Ġ${ source File . to AbsolutePath () }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles . new BufferedReader ( source File ). use Lines Ġ{ Ġlines Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġin Command Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġlines ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( in Command ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġmatch Ġ= Ġname Regex . find ( line )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġif Ġ( line . trim () Ġ== Ġ") ") Ġin Command Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġyield ( match . group Values [ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( line . contains ("@ Command (" )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Command Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwrite All Commands () Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite Header () ĊĊĠĠĠĠĠĠĠ Ġdump Section (" General ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" wor l ded it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < History Commands >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < General Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Navigation ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Navigation Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Selection ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Selection Commands >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield ("/ expand ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Region ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Region Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Generation ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Generation Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" S che matic Ġand ĠClip board ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" sche matic ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Clipboard Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Tool ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" tool ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Tool Commands >(). filter Ġ{ Ġit Ġ!= Ġ" stack er " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Tool Util Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Super ĠPick axe ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" super pick axe ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Brush ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" brush ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Bio me ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Bio me Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Chunk ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Chunk Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Snapshot ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Snapshot Util Commands >()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" snapshot ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Script ing ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Script ing Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdump Section (" Utility ĠCommands ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield All ( find Commands In < Utility Commands >()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwrite Footer () ĊĊĠĠĠĠĠĠĠ Ġval Ġmissing Commands Ġ= Ġcommands . keys . filter Not Ġ{ Ġit Ġin Ġmatched Commands Ġ} ĊĠĠĠĠĠĠĠ Ġrequire ( missing Commands . isEmpty ()) Ġ{ Ġ" Missing Ġcommands : Ġ$ missing Commands " Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwrite Header () Ġ{ ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line (""" Ċ ======== Ċ Commands Ċ ======== Ċ Ċ .. Ġcontents :: ĊĠĠĠ Ġ: local : Ċ Ċ .. Ġnote :: ĊĊĠĠĠ ĠArguments Ġen closed Ġin Ġ`` [ Ġ] `` Ġare Ġoptional , Ġthose Ġen closed Ġin Ġ`` < Ġ> `` Ġare Ġrequired . Ċ Ċ .. Ġtip :: ĊĊĠĠĠ ĠYou Ġcan Ġaccess Ġa Ġcommand Ġlisting Ġin - game Ġvia Ġthe Ġ`` // help `` Ġcommand . Ċ """. trim ()) ĊĊĠĠĠĠĠĠĠ Ġperms Output . append Line (""" Ċ =========== Ċ Permissions Ċ =========== Ċ Ċ By Ġdefault , Ġno Ġone Ġcan Ġuse ĠWorld Edit . ĠIn Ġorder Ġfor Ġyourself , Ġmod erators , Ġand Ġplayers Ġto Ġuse ĠWorld Edit , Ġyou Ġmust Ġprovide Ġthe Ġproper Ġpermissions . ĠOne Ġway Ġis Ġto Ġprovide Ġop Ġto Ġmod erators Ġand Ġadministr ators Ġ( unless Ġdisabled Ġin Ġthe Ġ: doc :` configuration Ġ< config >` ), Ġbut Ġproviding Ġthe Ġpermission Ġnodes Ġon Ġthis Ġpage Ġ( through Ġa Ġpermissions Ġplugin ) Ġis Ġthe Ġmore Ġflexible . Ċ Ċ You Ġcan Ġgive Ġthe Ġ`` wor l ded it .* `` Ġpermission Ġto Ġgive Ġyourself Ġand Ġother Ġadministr ators Ġfull Ġaccess Ġto ĠWorld Edit . Ċ Ċ Commands Ċ ========= Ċ Ċ See Ġthe Ġ: doc :` commands ` Ġpage Ġfor Ġan Ġexplanation Ġof Ġsome Ġof Ġthese Ġcommands . Ċ Ċ .. Ġcsv - table :: ĊĠ Ġ: header : ĠCommand , ĠPermission ĊĠ Ġ: widths : Ġ 1 5 , Ġ 2 5 Ċ """. trim ()) ĊĠĠĠĠĠĠĠ Ġperms Output . append Line () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwrite Footer () Ġ{ ĊĠĠĠĠĠĠĠ Ġperms Output . append Line () ĊĠĠĠĠĠĠĠ Ġperms Output . append (""" Ċ Other ĠPermissions Ċ ================== Ċ Ċ .. Ġcsv - table :: ĊĠĠĠ Ġ: header : ĠPermission , ĠEx planation ĊĠĠĠ Ġ: widths : Ġ 1 5 , Ġ 2 5 ĊĊĠĠĠ Ġ`` wor l ded it . navigation . jump to . tool `` ," Allow s Ġusage Ġof Ġthe Ġnavigation Ġw and 's Ġ`` / jump to `` Ġshortcut Ġ( left Ġclick )." ĊĠĠĠ Ġ`` wor l ded it . navigation . th ru . tool `` ," Allow s Ġusage Ġof Ġthe Ġnavigation Ġw and 's Ġ`` / th ru `` Ġshortcut Ġ( right Ġclick )." ĊĠĠĠ Ġ`` wor l ded it . any block `` ," Allow s Ġusage Ġof Ġblocks Ġin Ġthe Ġ: doc :` dis allowed - blocks Ġ< config >` Ġconfig Ġoption ." ĊĠĠĠ Ġ`` wor l ded it . limit . un restricted `` ," Allow s Ġsetting Ġthe Ġlimit Ġvia Ġthe Ġ`` // limit `` Ġ: doc :` command Ġ< commands >` Ġhigher Ġthan Ġthe Ġmaximum Ġin Ġthe Ġ: doc :` configuration Ġ< config >`, Ġas Ġwell Ġas Ġother Ġlimit Ġby passes ." ĊĠĠĠ Ġ`` wor l ded it . timeout . un restricted `` ," Allow s Ġsetting Ġthe Ġcalculation Ġtimeout Ġvia Ġthe Ġ`` // timeout `` Ġ: doc :` command Ġ< commands >` Ġhigher Ġthan Ġthe Ġmaximum Ġin Ġthe Ġ: doc :` configuration Ġ< config >`. " ĊĠĠĠ Ġ`` wor l ded it . inventory . un restricted `` ," Override Ġthe Ġ`` use - inventory `` Ġoption Ġif Ġenabled Ġin Ġthe Ġ: doc :` configuration Ġ< config >`. " ĊĠĠĠ Ġ`` wor l ded it . override . bed rock `` ," Allow s Ġbreaking Ġof Ġbed rock Ġwith Ġthe Ġsuper - pick axe Ġtool ." ĊĠĠĠ Ġ`` wor l ded it . override . data - cycler `` ," Allow s Ġcy cl ing Ġnon - wh itelisted Ġblocks Ġwith Ġthe Ġdata Ġcy cl er Ġtool ." ĊĠĠĠ Ġ`` wor l ded it . set nbt `` ," Allow s Ġsetting Ġ` extra Ġdata Ġ< https :// minecraft . game pedia . com / Block _ entity >`_ Ġon Ġblocks Ġ( such Ġas Ġsigns , Ġche sts , Ġetc )." ĊĠĠĠ Ġ`` wor l ded it . report . past eb in `` ," Allow s Ġuploading Ġreport Ġfiles Ġto Ġpast eb in Ġautomatically Ġfor Ġthe Ġ`` / wor l ded it Ġreport `` Ġ: doc :` command Ġ< commands >`. " ĊĠĠĠ Ġ`` wor l ded it . script ing . execute . <filename> `` ," Allow s Ġusing Ġthe ĠCraft Script Ġwith Ġthe Ġgiven Ġfilename ." Ċ """. trim ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdump Section ( title : ĠString , Ġadd Command Names : Ġsuspend ĠSequence Scope < String >. () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcmd Output . append ("\ n "). append ( title ). append ("\ n "). append ( Strings . repeat (" ~ ", Ġtitle . length )). append ("\ n ") ĊĊĠĠĠĠĠĠĠ Ġval Ġprefix Ġ= Ġreduce To R st ( Text Config . command Prefix Value ()) ĊĠĠĠĠĠĠĠ Ġval Ġcommands Ġ= Ġsequence ( add Command Names ). map Ġ{ Ġthis . commands . getValue ( it ) Ġ}. toList () ĊĠĠĠĠĠĠĠ Ġmatched Commands . addAll ( commands . map Ġ{ Ġit . name Ġ}) ĊĊĠĠĠĠĠĠĠ Ġcmd sTo Per ms ( commands , Ġprefix ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( command Ġin Ġcommands ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Command Block ( command , Ġprefix , ĠStream . empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommand . parts . stream (). filter Ġ{ Ġp Ġ-> Ġp Ġis ĠSub Command Part Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġp Ġ-> Ġ( p Ġas ĠSub Command Part ). commands . stream () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġsc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Command Block ( sc , Ġprefix Ġ+ Ġcommand . name Ġ+ Ġ" Ġ", ĠStream . of ( command )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcmd sTo Per ms ( cmds : ĠList < Command >, Ġprefix : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcmds . forEach Ġ{ Ġc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġperms Output . append (" ĠĠĠ Ġ"). append ( cmd To Perm ( prefix , Ġc )). append ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc . parts . filter Is Instance < Sub Command Part >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġsc p Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcmd sTo Per ms ( scp . commands . sorted By Ġ{ Ġit . name Ġ}, Ġprefix Ġ+ Ġc . name Ġ+ Ġ" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcmd To Perm ( prefix : ĠString , Ġc : ĠCommand ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcond Ġ= Ġc . condition ĊĠĠĠĠĠĠĠ Ġval Ġpermissions Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcond Ġis ĠPermission Condition Ġ&& Ġcond . permissions . isNotEmpty () Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcond . permissions . join ToString (", Ġ") Ġ{ Ġ" `` $ it `` " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ" `` $ prefix ${ c . name } ``, \" $ permissions \"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġwrite Command Block ( command : ĠCommand , Ġprefix : ĠString , Ġparents : ĠStream < Command >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġprefix Ġ+ Ġcommand . name ĊĠĠĠĠĠĠĠ Ġval Ġentries Ġ= Ġcommand Table Entries ( command , Ġparents ) ĊĊĠĠĠĠĠĠĠ Ġcmd Output . append Line (" .. Ġraw :: Ġhtml ") ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line () ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line (""" ĠĠĠ Ġ< span Ġid =" command -${ link Safe ( name )} "></ span > """) ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line () ĊĠĠĠĠĠĠĠ Ġcmd Output . append (" .. Ġtopic :: Ġ`` $ name `` ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! command . aliases . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommand . aliases . join To ( cmd Output , Ġ", Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix Ġ= Ġ" Ġ( or Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpostfix Ġ= Ġ" )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransform Ġ= Ġ{ Ġ" `` $ prefix $ it `` " Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line () ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line (" ĠĠĠ Ġ: class : Ġcommand - topic "). append Line () ĊĠĠĠĠĠĠĠ ĠCommand Util . deprecation Warning ( command ). if Present Ġ{ Ġwarning Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcmd Output . append Line (""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ.. ĠWARNING :: ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ${ reduce To R st ( warning ). make R st Safe ("\ n \ n ")} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Margin ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠ Ġ.. Ġcsv - table :: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĠĠĠĠĠĠĠ Ġ: widths : Ġ 8 , Ġ 1 5 ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin ()) ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line () ĊĠĠĠĠĠĠĠ Ġfor Ġ(( k , Ġv ) Ġin Ġentries ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrst Safe Ġ= Ġv . make R st Safe ("\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcmd Output . append (" ĠĠĠ Ġ". repeat ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( k ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ('" ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( rst Safe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ('" '). append Line () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcmd Output . append Line () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠString . make R st Safe ( line Join er : ĠString ) Ġ= Ġtrim () ĊĠĠĠĠĠĠĠ Ġ. replace (" \"", Ġ"\\ \"" ). replace ("\ n ", Ġ"\ n " Ġ+ Ġ" ĠĠĠ Ġ". repeat ( 2 )) ĊĠĠĠĠĠĠĠ Ġ. line Sequence () ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġline Ġ-> Ġline . if Blank Ġ{ Ġ"" Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġ. join ToString ( separator Ġ= Ġline Join er ) ĊĊĠĠĠ Ġprivate Ġfun Ġlink Safe ( text : ĠString ) Ġ= Ġtext . replace (" Ġ", Ġ"- ") ĊĊĠĠĠ Ġprivate Ġfun Ġcommand Table Entries ( command : ĠCommand , Ġparents : ĠStream < Command >): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsequence Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdesc Ġ= Ġcommand . description . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfooter Ġ= ĠCommand Util . footer Without De precation ( command ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfooter . isPresent Ġ-> Ġappend ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText Component . builder ("\ n \ n "). append ( footer . get ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" ** Description ** " Ġto Ġreduce To R st ( desc )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcond Ġ= Ġcommand . condition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cond Ġis ĠPermission Condition Ġ&& Ġcond . permissions . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġperms Ġ= Ġcond . permissions . join ToString (", Ġ") Ġ{ Ġ" `` $ it `` " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" ** Permissions ** " Ġto Ġperms ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusage Ġ= Ġreduce To R st ( Help Generator . create ( Stream . concat ( parents , ĠStream . of ( command )). toList ()). usage ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield (" ** Usage ** " Ġto Ġ" `` $ usage `` ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠPart Ġdescriptions ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommand . parts . filter Not Ġ{ Ġit Ġis ĠSub Command Part Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġ"\ u 2 0 0 1 \ u 2 0 0 1 `` " Ġ+ Ġreduce To R st ( it . text Representation ) Ġ+ Ġ" `` " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġyield ( title Ġto Ġreduce To R st ( it . description )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. toMap () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠGenerates Ġdocumentation . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWorld Edit . getInstance (). platform Manager . register ( Documentation Platform ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprinter Ġ= ĠDocumentation Printer () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprinter . write All Commands () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Output (" commands . rst ", Ġprinter . cmd Output . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Output (" permissions . rst ", Ġprinter . perms Output . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWorld Edit . getInstance (). session Manager . unload () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġwrite Output ( file : ĠString , Ġoutput : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFiles . new Buffered Writer ( Paths . get ( file )). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . write ( output ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ