@fabricmc/cli 0.1.462 → 0.1.466
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled.mjs +7 -4
- package/package.json +1 -1
package/bundled.mjs
CHANGED
|
@@ -334,6 +334,7 @@ loom {
|
|
|
334
334
|
fabricApi {
|
|
335
335
|
configureDataGeneration {
|
|
336
336
|
client = true
|
|
337
|
+
modId = "<%= it.modid %>"
|
|
337
338
|
}
|
|
338
339
|
}
|
|
339
340
|
|
|
@@ -467,6 +468,7 @@ loom {
|
|
|
467
468
|
fabricApi {
|
|
468
469
|
configureDataGeneration {
|
|
469
470
|
client = true
|
|
471
|
+
modId = "<%= it.modid %>"
|
|
470
472
|
}
|
|
471
473
|
}
|
|
472
474
|
|
|
@@ -1042,8 +1044,9 @@ public class <%= it.className %> implements ModInitializer {
|
|
|
1042
1044
|
LOGGER.info("Hello Fabric world!");
|
|
1043
1045
|
}
|
|
1044
1046
|
|
|
1047
|
+
<% const idNew = it.identifier.factory.isConstructor ? "new " : "" -%>
|
|
1045
1048
|
public static <%= it.identifier.class %> id(String path) {
|
|
1046
|
-
return <%= it.identifier.factory %>(MOD_ID, path);
|
|
1049
|
+
return <%= idNew %><%= it.identifier.factory.name %>(MOD_ID, path);
|
|
1047
1050
|
}
|
|
1048
1051
|
}
|
|
1049
1052
|
`,tu=`package <%= it.package %>
|
|
@@ -1074,7 +1077,7 @@ object <%= it.className %> : ModInitializer {
|
|
|
1074
1077
|
}
|
|
1075
1078
|
|
|
1076
1079
|
fun id(path: String): <%= it.identifier.class %>
|
|
1077
|
-
= <%= it.identifier.factory %>(MOD_ID, path)
|
|
1080
|
+
= <%= it.identifier.factory.name %>(MOD_ID, path)
|
|
1078
1081
|
}
|
|
1079
1082
|
`,nu=`package <%= it.package %>;
|
|
1080
1083
|
|
|
@@ -1112,7 +1115,7 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
|
|
1112
1115
|
object <%= it.className %> : DataGeneratorEntrypoint {
|
|
1113
1116
|
override fun onInitializeDataGenerator(fabricDataGenerator: FabricDataGenerator) {
|
|
1114
1117
|
}
|
|
1115
|
-
}`;function ou(e,A){let t=et(A),n=mt(A);return t>1||n>20
|
|
1118
|
+
}`;function ou(e,A){let t=et(A),n=mt(A);return t>1||n>20?{name:`${e.class}.${e.factoryName}`,isConstructor:!1}:{name:e.class,isConstructor:!0}}function au(e){if(!(e.unobfuscated||e.mojmap))return{package:"net.minecraft.util",class:"Identifier",factoryName:"of"};let A=et(e.minecraftVersion),t=mt(e.minecraftVersion),n=Xo(e.minecraftVersion);return{package:"net.minecraft.resources",class:A>1||t==21&&n==11?"Identifier":"ResourceLocation",factoryName:"fromNamespaceAndPath"}}function gu(e){let A=au(e),t=ou(A,e.minecraftVersion);return{...A,factory:t}}async function Bu(e,A){let t=Pc(A.projectName),n={package:A.packageName,clientPackage:A.packageName+".client",className:t,classFullName:A.packageName+"."+t,clientClassFullName:A.packageName+".client."+t,path:A.packageName.replaceAll(".","/")+"/"+t,clientPath:A.packageName.replaceAll(".","/")+"/client/"+t,modid:A.modid,slf4j:Mc(A.minecraftVersion),clientEntrypoint:A.splitSources,dataEntrypoint:A.dataGeneration,identifier:gu(A)};return A.kotlin?await cu(e,n):await lu(e,n)}async function lu(e,A){var t={main:[A.classFullName]};if(await e.write(`src/main/java/${A.path}.java`,ie(eu,A)),A.clientEntrypoint&&(await e.write(`src/client/java/${A.clientPath}Client.java`,ie(nu,{...A,className:A.className+"Client",package:A.clientPackage})),t={...t,client:[A.clientClassFullName+"Client"]}),A.dataEntrypoint){let n=A.clientEntrypoint?"client":"main",r=A.clientEntrypoint?A.clientPath:A.path,i=A.clientEntrypoint?A.clientClassFullName:A.classFullName;await e.write(`src/${n}/java/${r}DataGenerator.java`,ie(iu,{...A,className:A.className+"DataGenerator",package:A.clientEntrypoint?A.clientPackage:A.package})),t={...t,"fabric-datagen":[i+"DataGenerator"]}}return t}async function cu(e,A){var t={main:[{value:A.classFullName,adapter:"kotlin"}]};if(await e.write(`src/main/kotlin/${A.path}.kt`,ie(tu,A)),A.clientEntrypoint&&(await e.write(`src/client/kotlin/${A.clientPath}Client.kt`,ie(ru,{...A,className:A.className+"Client",package:A.clientPackage})),t={...t,client:[{value:A.clientClassFullName+"Client",adapter:"kotlin"}]}),A.dataEntrypoint){let n=A.clientEntrypoint?"client":"main",r=A.clientEntrypoint?A.clientPath:A.path,i=A.clientEntrypoint?A.clientClassFullName:A.classFullName;await e.write(`src/${n}/kotlin/${r}DataGenerator.kt`,ie(su,{...A,className:A.className+"DataGenerator",package:A.clientEntrypoint?A.clientPackage:A.package})),t={...t,"fabric-datagen":[{value:i+"DataGenerator",adapter:"kotlin"}]}}return t}var Jo="iVBORw0KGgoAAAANSUhEUgAAAIAAAACAAQMAAAD58POIAAAABlBMVEUAAAD///+l2Z/dAAABeklEQVRIx9XTsW1cMQwGYAoKIlfWbaAVUroKbxSPcBtIQRaTN9EILFkI+l3ovXuSLvYZCK4wK+IrWBD/T1iGHg41fBUcygwWKY7QLGiCuoLaNoOY+1BnKFfQDUhnyGeZIZ3lNEO+LFBef01gyutlAlvOEzRb6MIDVCskDAD01MEJCTeKjWgHI1wp1A3Ui9Wg5HSHoFaDkN1BgroOzwN4ORkJuQNXX738NsKFAULpEI2wdIhAdRLTCM1JzBIHsMJZokSAkK/ApQMAbMADhCycDzASsoQObwDwR31Sn154AFJHpwPqT6NENACZOgIambYBNrCYAOSQflAcIEDCmPXEDyrQ42GP9wBuBXuAMqBENxBneCGegVNYIPsFygrqFqh2gXYDZoG+j5BuIC6QVyh8D444aPgXBKi/B9XtUD+ANkH9CsAuNz4D/wH8/Rx4gPZIsP8DDlAeHrRBXUFXkCugQ/YLUJhBiCeg3o8JsICdAKm38OhtGio2zveBd37Jm8IEWUmfAAAAAElFTkSuQmCC";function uu(e,A,t){if(!A)return Si(Jo);let n=t.create(128,128);return n!=null&&Eu(n,e)?n.getPng():Si(Jo)}function Eu(e,A){let t=e.getContext("2d");if(t==null)return!1;t.fillStyle="#ffffff",t.fillRect(0,0,128,128);let n=A.split(/\s+/),r=0,i=Array(n.length),o=65;for(;;){r=0;for(let a of n){let B=o;do B--,t.font=`${B}px ${dn}`;while(t.measureText(a).width>124);o=Math.min(o,B)}for(let a=0;a<n.length;a++){let B=n[a];t.font=`${o}px ${dn}`;let g=e.measureText(t,B);i[a]=g.ascent+g.descent,r+=i[a]}if(r+=(n.length-1)*2,r<=124)break}let s=(128-r)/2;for(let a=0;a<n.length;a++){let B=0;for(let u of i.slice(0,a))B+=u+2;let g=n[a];t.font=`${o}px ${dn}`,t.fillStyle="#000000",t.textAlign="center";let l=e.measureText(t,g);t.fillText(g,64,s+B+l.ascent)}return!0}function Qu(e){return Number(e.split(".")[1])>=59}async function hu(e,A,t){let n=[...await $c(e,t),...t.splitSources?await Au(e,t):[]],r=t.minecraftVersion.indexOf("-");var i=t.minecraftVersion.substring(0,r===-1?t.minecraftVersion.length:r+1);let o={schemaVersion:1,id:t.modid,version:"${version}",name:t.projectName,description:"This is an example description! Tell everyone what your mod is about!",authors:["Me!"],contact:{homepage:"https://fabricmc.net/",sources:"https://github.com/FabricMC/fabric-example-mod"},license:"CC0-1.0",icon:`assets/${t.modid}/icon.png`,environment:"*",entrypoints:await Bu(e,t),mixins:n,depends:{fabricloader:">="+t.loaderVersion,minecraft:"~"+i,java:">="+mn(t.minecraftVersion).release}};o.depends[Qu(t.fabricVersion)?"fabric-api":"fabric"]="*",t.kotlin&&(o.depends={...o.depends,"fabric-language-kotlin":"*"}),await e.write("src/main/resources/fabric.mod.json",JSON.stringify(o,null," ")),await e.write(`src/main/resources/assets/${t.modid}/icon.png`,uu(t.projectName,t.uniqueModIcon,A))}var pu=`#
|
|
1116
1119
|
# https://help.github.com/articles/dealing-with-line-endings/
|
|
1117
1120
|
#
|
|
1118
1121
|
# Linux start script should use lf
|
|
@@ -1264,4 +1267,4 @@ This template is available under the CC0 license. Feel free to learn from it and
|
|
|
1264
1267
|
|
|
1265
1268
|
${Ti(`Visit ${wA(this.getRepositoryUrl(A))} for available releases or run again with the ${OA("-l")} or ${OA("--list-versions")} command.`)}`);return r&&r===t&&r===n?(this.logger.warn(OA(`You're already using the latest available version ${t} of ${A}.`)),!1):n&&t===n?(this.logger.warn(OA(`You're already using version ${t} of ${A}.`)),!1):!0}async listVersions(A,t){let{versions:n}=await this.getVersions(A);this.printVersions(n,t)}printVersions(A,t,{maxCols:n=this.maxCols,indent:r=0}={}){if(A=A.sort((i,o)=>{let s=Pn(i),a=Pn(o);return Ce(a,s)}).slice(),A?.length)if(A=A.map(i=>t&&t===i?Fe(`* ${i}`):` ${i}`),A.length>this.maxListSize){let i=new qA().indent(r),o=Math.ceil(A.length/n),s=Math.min(A.length,n),a=0;for(let B=0;B<s;B++)for(let g=0;g<o;g++)i[g]||(i[g]=[]),i[g][B]=A[a++];console.log(i.toString())}else console.log(A.map(i=>" ".repeat(r)+i).join(`
|
|
1266
1269
|
`))}setLogger(A){this.logger=A}getMain(A){let t=this.main??A;return t?`/${t}`:""}};FA();function JB({spinner:e,verbose:A}={}){function t(n,...r){e?.stop(),console[n](...r),e?.start()}return{log:(...n)=>{A&&t("log",...n)},info:(...n)=>t("info",...n),warn:(...n)=>t("warn",...n),error:(...n)=>t("error",...n)}}function LB(){let{Deno:e,process:A}=globalThis;if(e)return e.noColor;if(A)return A?.env.NO_COLOR==="1"||A?.env.NODE_DISABLE_COLORS==="1";throw new Error("unsupported runtime")}var WB=new TextEncoder,mi=WB.encode("\r\x1B[K"),qp="\x1B[0m",_p=75,$p=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],AC={black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m"},fi=class{#A;message;#e;#r;#t;#n=!1;constructor({spinner:A=$p,message:t="",interval:n=_p,color:r}={}){this.#A=A,this.message=t,this.#e=n,this.color=r}set color(A){this.#r=A?AC[A]:void 0}get color(){return this.#r}start(){if(this.#n||globalThis.Deno?.stdout.writable.locked)return;this.#n=!0;let A=0,t=LB(),n=()=>{let r=this.#r??"",i=WB.encode(t?this.#A[A]+" "+this.message:r+this.#A[A]+qp+" "+this.message),o=new Uint8Array(mi.length+i.length);o.set(mi),o.set(i,mi.length),le(o),A=(A+1)%this.#A.length};this.#t=setInterval(n,this.#e)}stop(){this.#t&&this.#n&&(clearInterval(this.#t),le(mi),this.#n=!1)}};FA();async function _B(){let{Deno:e,process:A}=globalThis;if(e?.version?.deno){let{DenoRuntime:t}=await Promise.resolve().then(()=>(ZB(),KB));return{runtimeName:"deno",runtime:new t}}else if(A?.versions?.bun){let{BunRuntime:t}=await Promise.resolve().then(()=>(qB(),zB));return{runtimeName:"bun",runtime:new t}}else if(A?.versions?.node){let{NodeRuntime:t}=await Promise.resolve().then(()=>(io(),XB));return{runtimeName:"node",runtime:new t}}else throw new Error("Unsupported runtime.")}async function $B({runtime:e,provider:A,...t}){if(t.force||!t.from||await A.isOutdated(t.name,t.from,t.to)){t.to==="latest"?t.logger?.log(hA("Upgrading %s to the %s version"),t.name,t.to):t.logger?.log(hA("Upgrading %s to version %s"),t.name,t.to),t.to=await A.resolveVersion(t.name,t.to),t.logger?.log(hA("Upgrading %s:"),t.name),t.logger?.log(hA(" - current version: %s"),t.from),t.logger?.log(hA(" - target version: %s"),t.to);try{if(A.upgrade)await A.upgrade(t);else{let{runtimeName:n,runtime:r}=await _B();t.logger?.log(hA(" - runtime: %s"),n),await r.upgrade({...t,...e?.[n]??{},provider:A})}}catch(n){throw t.logger?.error(VA(`Failed to upgrade ${sA(t.name)} ${t.from?`from version ${sA(t.from)} `:""}to ${sA(t.to)}.`)),n}t.logger?.info(wA(`Successfully upgraded ${sA(t.name)} from version ${sA(t.from??"")} to ${sA(t.to)}!`),hA(`(${A.getRepositoryUrl(t.name,t.to)})`))}}var Ln=class extends YA{providers;constructor({provider:A,spinner:t=!0,...n}){if(super(),this.providers=Array.isArray(A)?A:[A],!this.providers.length)throw new Error("No upgrade provider defined!");this.description(()=>`Upgrade ${this.getMainCommand().getName()} executable to latest or given version.`).noGlobals().type("provider",new ln(this.getProviderNames())).option("-r, --registry <name:provider>","The registry name from which to upgrade.",{default:this.getProvider().name,hidden:this.providers.length<2,value:r=>this.getProvider(r)}).option("-l, --list-versions","Show available versions.",{action:async({registry:r})=>{await r.listVersions(this.getMainCommand().getName(),this.getVersion()),We(0)}}).option("--version <version:string:version>","The version to upgrade to.",{default:"latest"}).option("-f, --force","Replace current installation even if not out-of-date.").option("-v, --verbose","Log verbose output.").option("--no-spinner","Disable spinner.",{hidden:!t}).complete("version",()=>this.getAllVersions()).action(async({registry:r,version:i,force:o,verbose:s,spinner:a})=>{let B=this.getMainCommand().getName(),g=this.getVersion(),l=t&&a?new fi({message:wA(`Upgrading ${sA(B)} from version ${sA(g??"")} to ${sA(i)}...`)}):void 0,u=JB({spinner:l,verbose:s});l?.start(),r.setLogger(u);try{await $B({name:B,to:i,from:g,force:o,provider:r,verbose:s,logger:u,...n})}catch(c){u.error(!s&&c instanceof Error?c.message:c),l?.stop(),We(1)}finally{l?.stop()}})}async getAllVersions(){let{versions:A}=await this.getVersions();return A}async hasRequiredPermissions(){return await this.getProvider().hasRequiredPermissions()}async getLatestVersion(){let{latest:A}=await this.getVersions();return A}getVersions(){return this.getProvider().getVersions(this.getMainCommand().getName())}getProvider(A){let t=A?this.providers.find(n=>n.name===A):this.providers[0];if(!t)throw new zA(`Unknown provider "${A}"`);return t}getProviderNames(){return this.providers.map(A=>A.name)}};var eC="https://fabricmc.net/cli",oo="fabric";function Al(){let e=new Ln({provider:new ao}).description("Upgrade Fabric CLI tools executable to latest version");return e.removeOption("version"),e.removeOption("force"),e.removeOption("list-versions"),e}var ao=class extends Vn{name=oo;constructor(){super()}async hasRequiredPermissions(){return!1}async upgrade(){let A=["install","--force","--reload","--quiet","--global","-A","--name",oo,eC],t=new Deno.Command(Deno.execPath(),{args:A}),{success:n,stderr:r}=await t.output();if(!n)throw await Deno.stderr.write(r),new Error(`Failed to upgrade ${oo}!`);console.info("Successfully upgraded!")}getVersions(A){return Promise.resolve({latest:"latest",versions:["latest"]})}getRepositoryUrl(A){throw new Error("Method not implemented.")}getRegistryUrl(A,t){throw new Error("Method not implemented.")}isOutdated(A,t,n){return Promise.resolve(!0)}};var tC="1.18-SNAPSHOT",nC={getGameVersions:ki,getLoaderVersions:Oi,getYarnVersions:Lo,getApiVersionForMinecraft:Hi,minecraftIsUnobfuscated:dt};function el(){return new YA().name("versions").description("Show the recommended Fabric versions for a Minecraft version").option("--json","Print the recommended versions as JSON").arguments("[minecraftVersion:string]").action(async(e,A)=>{let t=await rC(A);console.log(e.json?sC(t):iC(t))})}async function rC(e,A=nC){let[t,n,r]=await Promise.all([A.getGameVersions(),A.getLoaderVersions(),A.getYarnVersions()]),i=t.find(l=>l.stable);if(!i)throw new Error("Could not find a stable Minecraft version.");let o=t[0]?.stable?void 0:t[0],s=e??i.version;oC(s,t,o?.version);let a=n.find(l=>l.stable);if(!a)throw new Error("Could not find a stable Fabric Loader version.");let B=A.minecraftIsUnobfuscated(s),g={minecraft_version:s,loader_version:a.version,loom_version:tC,fabric_api_version:await A.getApiVersionForMinecraft(s)};return B||(g.yarn_mappings=r.find(l=>l.gameVersion===s)?.version??"unknown"),g}function iC(e){let A=[`minecraft_version=${e.minecraft_version}`];return e.yarn_mappings&&A.push(`yarn_mappings=${e.yarn_mappings}`),A.push(`loader_version=${e.loader_version}`),A.push(`loom_version=${e.loom_version}`),A.push(`fabric_api_version=${e.fabric_api_version}`),A.join(`
|
|
1267
|
-
`)}function sC(e){return JSON.stringify(e,null,2)}function oC(e,A,t){let n=A.find(r=>r.version===e);if(!n)throw new Error(`Unknown Minecraft version: ${e}`);if(!n.stable&&n.version!==t)throw new Error(`Minecraft version ${e} is not supported. Only stable versions and the latest snapshot are supported.`)}var gC="0.1.
|
|
1270
|
+
`)}function sC(e){return JSON.stringify(e,null,2)}function oC(e,A,t){let n=A.find(r=>r.version===e);if(!n)throw new Error(`Unknown Minecraft version: ${e}`);if(!n.stable&&n.version!==t)throw new Error(`Minecraft version ${e} is not supported. Only stable versions and the latest snapshot are supported.`)}var gC="0.1.466";{let e=new YA().name("fabric").version(gC).description("A set of command line tools to aid Fabric mod development").action(()=>{e.showHelp(),aC(0)}).command("init",TB());typeof Deno<"u"&&e.command("upgrade",Al()),e.command("versions",el()).command("completions",new Cn),await e.parse()}
|