Ċ import Ġca . stell ard rift . build . configur ate . Config Formats Ċ import Ġca . stell ard rift . build . configur ate . transform ations . convert Format Ċ import Ġcom . github . jen gel man . gradle . plugins . shadow . tasks . Shadow Jar Ċ import Ġnet . fabric mc . loom . task . Abstract Run Task Ċ import Ġnet . fabric mc . loom . task . Rem ap Jar Task Ċ import Ġorg . jetbrains . kotlin . backend . common . at Most One Ċ Ċ /* Ċ Ġ* ĠPermissions Ex Ċ Ġ* ĠCopyright Ġ( C ) Ġz ml Ġand ĠPermissions Ex Ġcontributors Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" pex - platform ") ĊĠĠĠ Ġid (" ca . stell ard rift . op inion ated . fabric ") ĊĠĠĠ Ġid (" ca . stell ard rift . localization ") Ċ } Ċ Ċ val Ġsh ade : ĠConfiguration Ġby Ġconfigurations . creating Ċ configurations . implementation . get (). extends From ( shade ) Ċ Ċ val Ġm inecraft Version Ġ= Ġ" 1 . 1 6 . 5 " Ċ dependencies Ġ{ ĊĠĠĠ Ġval Ġad venture Platform Version : ĠString Ġby Ġproject ĊĠĠĠ Ġval Ġcloud Version : ĠString Ġby Ġproject ĊĊĠĠĠ Ġsh ade ( project (": impl - blocks : minecraft ")) Ġ{ ĊĠĠĠĠĠĠĠ Ġexclude (" com . google . gu ava ") ĊĠĠĠĠĠĠĠ Ġexclude (" com . google . code . gson ") ĊĠĠĠĠĠĠĠ Ġexclude (" org . spongepowered ") ĊĠĠĠĠĠĠĠ Ġexclude (" net . ky ori ") ĊĠĠĠĠĠĠĠ Ġexclude (" org . jetbrains . kotlin ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsh ade ( project (": impl - blocks : hikari - config ")) ĊĠĠĠ Ġsh ade (" org . apache . logging . log 4 j : log 4 j - slf 4 j - impl : 2 . 8 . 1 ") Ġ{ Ġis Trans itive Ġ= Ġfalse Ġ} ĊĠĠĠ Ġsh ade (" cloud . command framework : cloud - b rig ad ier :$ cloud Version ") ĊĊĠĠĠ Ġm inecraft (" com . moj ang : minecraft :$ minecraft Version ") ĊĠĠĠ Ġmappings (" net . fabric mc : yarn :$ minecraft Version + build . 1 : v 2 ") ĊĠĠĠ Ġmod Implementation (" net . fabric mc : fabric - loader : 0 . 1 1 . 1 ") ĊĊĠĠĠ Ġmod Implementation (" net . fabric mc . fabric - api : fabric - api : 0 . 2 9 . 3 + 1 . 1 6 ") ĊĠĠĠ Ġmod Implementation ( include (" net . ky ori : ad venture - platform - fabric :$ ad venture Platform Version ") Ġ{ ĊĠĠĠĠĠĠĠ Ġexclude (" com . google . code . gson ") ĊĠĠĠĠĠĠĠ Ġexclude (" ca . stell ard rift ", Ġ" colon el ") ĊĠĠĠ Ġ}) ĊĠĠĠ Ġmod Implementation ( include (" ca . stell ard rift : conf abric ate : 2 . 0 . 3 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġexclude (" com . google . code . gson ") ĊĠĠĠ Ġ}) ĊĠĠĠ Ġmod Implementation ( include (" me . lu cko : fabric - permissions - api : 0 . 1 - SNAPSHOT ") !! ) ĊĊĠĠĠ Ġruntime Only (" net . minecraftforge : forge flower : 1 . 5 . 4 7 8 . 1 8 ") Ċ } Ċ Ċ tasks . with Type ( Process Resources :: class ). configure Each Ġ{ ĊĠĠĠ Ġfiles Matching (" *. yml ") Ġ{ ĊĠĠĠĠĠĠĠ Ġconvert Format ( Config Formats . YAML , ĠConfig Formats . JSON ) ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ"${ name . remove Suffix (". yml ") }. json " ĊĠĠĠ Ġ} Ċ } Ċ Ċ loom Ġ{ ĊĠĠĠ Ġ// ĠRun Ġdirectory Ġis Ġpart Ġof Ġthe Ġsub project , Ġnot Ġthe Ġroot Ġproject ĊĠĠĠ Ġrun Dir Ġ= Ġproject Dir . resolve (" run / "). relative To ( rootDir ). toString () Ċ } Ċ Ċ tasks . with Type ( Abstract Run Task :: class ). configure Each Ġ{ ĊĠĠĠ Ġ// Ġjava Launcher . set ( pex Platform . development Runtime ()) ĊĊĠĠĠ Ġ// ĠM ixin Ġdebug Ġoptions ĊĠĠĠ Ġj vm Args ( ĊĠĠĠĠĠĠĠ Ġ// Ġ"- D mixin . debug . verbose = true ", ĊĠĠĠĠĠĠĠ Ġ// Ġ"- D mixin . debug . export = true ", ĊĠĠĠĠĠĠĠ Ġ// Ġ"- D mixin . debug . export . de compile . async = false ", ĊĠĠĠĠĠĠĠ Ġ"- D mixin . dump Target On Failure = true ", ĊĠĠĠĠĠĠĠ Ġ"- D mixin . checks . interfaces = true ", ĊĠĠĠĠĠĠĠ Ġ"- D permission sex . debug . mix ina udit = true " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// ĠConfigure Ġmixin Ġagent ĊĠĠĠ Ġj vm Argument Providers Ġ+= ĠCommandLine Argument Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠResolve Ġthe ĠM ixin Ġconfiguration ĊĠĠĠĠĠĠĠ Ġ// ĠJava Ġagent : Ġthe Ġjar Ġfile Ġfor Ġmixin ĊĠĠĠĠĠĠĠ Ġval Ġmixin Jar Ġ= Ġconfigurations . runtime Classpath . get (). resolved Configuration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Files Ġ{ Ġit . name Ġ== Ġ" sponge - mixin " Ġ&& Ġit . group Ġ== Ġ" net . fabric mc " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. at Most One () ĊĠĠĠĠĠĠĠ Ġif Ġ( mixin Jar Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ("- java agent :$ mixin Jar ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . register (" run Fabric Server ") Ġ{ ĊĠĠĠ Ġdepends On ( tasks . run Server ) ĊĠĠĠ Ġgroup Ġ= Ġ" pex " ĊĠĠĠ Ġdescription Ġ= Ġ" Run Ġa ĠFabric Ġdevelopment Ġserver " Ċ } Ċ Ċ tasks . register (" run Fabric Client ") Ġ{ ĊĠĠĠ Ġdepends On ( tasks . run Client ) ĊĠĠĠ Ġgroup Ġ= Ġ" pex " ĊĠĠĠ Ġdescription Ġ= Ġ" Run Ġa ĠFabric Ġdevelopment Ġclient " Ċ } Ċ Ċ pex Platform Ġ{ ĊĠĠĠ Ġre locate ( ĊĠĠĠĠĠĠĠ Ġ" cloud . command framework ", ĊĠĠĠĠĠĠĠ Ġ" com . github . ben man es . caffe ine ", ĊĠĠĠĠĠĠĠ Ġ" com . zaxxer . hikari ", ĊĠĠĠĠĠĠĠ Ġ" org . antlr ", ĊĠĠĠĠĠĠĠ Ġ" org . j db i ", ĊĠĠĠĠĠĠĠ Ġ" org . p collections ", ĊĠĠĠĠĠĠĠ Ġ" org . slf 4 j " ĊĠĠĠ Ġ) ĊĠĠĠ Ġre locate (" org . apache . logging . slf 4 j ", Ġkeep Elements Ġ= Ġ 2 ) ĊĠĠĠ Ġexclude Checker () Ċ } Ċ Ċ val Ġshadow Jar Ġby Ġtasks . getting ( Shadow Jar :: class ) Ġ{ ĊĠĠĠ Ġconfigurations Ġ= ĠlistOf ( shade ) ĊĠĠĠ Ġarchive Classifier . set (" dev - all ") ĊĠĠĠ Ġfrom ( source Sets [" accessor "]. output ) ĊĠĠĠ Ġfrom ( source Sets [" mixin "]. output ) ĊĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġexclude ( dependency (" org . jetbrains . kotlin : .* : .* ")) ĊĠĠĠĠĠĠĠ Ġexclude ( dependency (" org . jetbrains . kotlin x : .* : .* ")) ĊĠĠĠĠĠĠĠ Ġexclude ( dependency (" org . jetbrains : annotations : .* ")) ĊĠĠĠĠĠĠĠ Ġexclude ( dependency (" io . le ang en . ge anty ref : ge anty ref : .* ")) ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġremap Shadow Jar Ġ= Ġtasks . register < Rem ap Jar Task >(" remap Shadow Jar ") Ġ{ ĊĠĠĠ Ġdepends On ( shadow Jar ) ĊĠĠĠ Ġarchive Classifier . set (" all ") ĊĠĠĠ Ġinput . set ( shadow Jar . archive File ) ĊĠĠĠ Ġadd Nested Dependencies . set ( true ) Ċ } Ċ Ċ configurations Ġ{ ĊĠĠĠ Ġsequence Of ( shadow Runtime Elements , Ġshadow ). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġit . configure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutgoing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifacts . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( remap Shadow Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ