@fabricmc/cli 0.1.462 → 0.1.465
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 +5 -4
- package/package.json +1 -1
package/bundled.mjs
CHANGED
|
@@ -1042,8 +1042,9 @@ public class <%= it.className %> implements ModInitializer {
|
|
|
1042
1042
|
LOGGER.info("Hello Fabric world!");
|
|
1043
1043
|
}
|
|
1044
1044
|
|
|
1045
|
+
<% const idNew = it.identifier.factory.isConstructor ? "new " : "" -%>
|
|
1045
1046
|
public static <%= it.identifier.class %> id(String path) {
|
|
1046
|
-
return <%= it.identifier.factory %>(MOD_ID, path);
|
|
1047
|
+
return <%= idNew %><%= it.identifier.factory.name %>(MOD_ID, path);
|
|
1047
1048
|
}
|
|
1048
1049
|
}
|
|
1049
1050
|
`,tu=`package <%= it.package %>
|
|
@@ -1074,7 +1075,7 @@ object <%= it.className %> : ModInitializer {
|
|
|
1074
1075
|
}
|
|
1075
1076
|
|
|
1076
1077
|
fun id(path: String): <%= it.identifier.class %>
|
|
1077
|
-
= <%= it.identifier.factory %>(MOD_ID, path)
|
|
1078
|
+
= <%= it.identifier.factory.name %>(MOD_ID, path)
|
|
1078
1079
|
}
|
|
1079
1080
|
`,nu=`package <%= it.package %>;
|
|
1080
1081
|
|
|
@@ -1112,7 +1113,7 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator
|
|
|
1112
1113
|
object <%= it.className %> : DataGeneratorEntrypoint {
|
|
1113
1114
|
override fun onInitializeDataGenerator(fabricDataGenerator: FabricDataGenerator) {
|
|
1114
1115
|
}
|
|
1115
|
-
}`;function ou(e,A){let t=et(A),n=mt(A);return t>1||n>20
|
|
1116
|
+
}`;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
1117
|
# https://help.github.com/articles/dealing-with-line-endings/
|
|
1117
1118
|
#
|
|
1118
1119
|
# Linux start script should use lf
|
|
@@ -1264,4 +1265,4 @@ This template is available under the CC0 license. Feel free to learn from it and
|
|
|
1264
1265
|
|
|
1265
1266
|
${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
1267
|
`))}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.
|
|
1268
|
+
`)}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.465";{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()}
|