@adhisang/minecraft-modding-mcp 4.1.1 → 4.2.0

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/README.md +5 -2
  3. package/dist/entry-tools/analyze-symbol-service.d.ts +12 -0
  4. package/dist/entry-tools/analyze-symbol-service.js +7 -0
  5. package/dist/entry-tools/batch-class-members-service.d.ts +1 -0
  6. package/dist/entry-tools/batch-class-members-service.js +2 -0
  7. package/dist/entry-tools/batch-class-source-service.d.ts +1 -0
  8. package/dist/entry-tools/batch-class-source-service.js +2 -0
  9. package/dist/entry-tools/batch-mappings-service.d.ts +1 -0
  10. package/dist/entry-tools/batch-mappings-service.js +1 -0
  11. package/dist/entry-tools/batch-symbol-exists-service.d.ts +1 -0
  12. package/dist/entry-tools/batch-symbol-exists-service.js +2 -0
  13. package/dist/entry-tools/compare-minecraft-service.d.ts +9 -0
  14. package/dist/entry-tools/compare-minecraft-service.js +3 -1
  15. package/dist/entry-tools/inspect-minecraft/handlers/class-members.js +1 -0
  16. package/dist/entry-tools/inspect-minecraft/handlers/class-overview.js +3 -1
  17. package/dist/entry-tools/inspect-minecraft/handlers/class-source.js +1 -0
  18. package/dist/entry-tools/inspect-minecraft/handlers/list-files.js +1 -0
  19. package/dist/entry-tools/inspect-minecraft/handlers/search.js +2 -1
  20. package/dist/entry-tools/inspect-minecraft/internal.d.ts +17 -0
  21. package/dist/entry-tools/inspect-minecraft/internal.js +10 -0
  22. package/dist/entry-tools/inspect-minecraft-service.d.ts +40 -0
  23. package/dist/entry-tools/validate-project/cases/project-summary.js +8 -3
  24. package/dist/entry-tools/validate-project/internal.d.ts +6 -2
  25. package/dist/entry-tools/validate-project/internal.js +9 -7
  26. package/dist/entry-tools/validate-project-service.d.ts +10 -0
  27. package/dist/entry-tools/validate-project-service.js +1 -0
  28. package/dist/entry-tools/verify-mixin-target-service.d.ts +2 -0
  29. package/dist/entry-tools/verify-mixin-target-service.js +1 -0
  30. package/dist/gradle-paths.d.ts +8 -3
  31. package/dist/gradle-paths.js +34 -5
  32. package/dist/index.js +24 -7
  33. package/dist/mapping/loaders/tiny-loom.d.ts +1 -1
  34. package/dist/mapping/loaders/tiny-loom.js +5 -2
  35. package/dist/mapping/types.d.ts +5 -0
  36. package/dist/mapping-service.d.ts +1 -0
  37. package/dist/mapping-service.js +16 -13
  38. package/dist/mixin-validator.d.ts +1 -1
  39. package/dist/mixin-validator.js +1 -1
  40. package/dist/source/access-validate.js +12 -8
  41. package/dist/source/artifact-resolver.d.ts +5 -0
  42. package/dist/source/artifact-resolver.js +23 -7
  43. package/dist/source/class-source/members-builder.d.ts +1 -0
  44. package/dist/source/class-source/members-builder.js +1 -1
  45. package/dist/source/class-source.d.ts +1 -0
  46. package/dist/source/class-source.js +9 -1
  47. package/dist/source/lifecycle/diff.js +6 -6
  48. package/dist/source/lifecycle/mapping-helpers.d.ts +3 -3
  49. package/dist/source/lifecycle/mapping-helpers.js +17 -9
  50. package/dist/source/lifecycle/trace.js +2 -2
  51. package/dist/source/search.js +1 -0
  52. package/dist/source/symbol-resolver.js +4 -1
  53. package/dist/source/validate-mixin/pipeline/mapping-health.js +2 -1
  54. package/dist/source/validate-mixin/pipeline/resolve.js +1 -0
  55. package/dist/source/validate-mixin/pipeline/target-lookup.js +12 -7
  56. package/dist/source-service.d.ts +18 -1
  57. package/dist/source-service.js +2 -2
  58. package/dist/tool-contract-manifest.d.ts +1 -1
  59. package/dist/tool-contract-manifest.js +2 -2
  60. package/dist/tool-schemas.d.ts +91 -0
  61. package/dist/tool-schemas.js +20 -0
  62. package/docs/README-ja.md +2 -2
  63. package/docs/tool-reference.md +4 -1
  64. package/package.json +1 -1
@@ -58,6 +58,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
58
58
  mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
59
59
  scope: z.enum(["vanilla", "merged", "loader"]).optional(),
60
60
  projectPath: nonEmptyString.optional(),
61
+ gradleUserHome: nonEmptyString.optional(),
61
62
  preferProjectVersion: z.boolean().optional(),
62
63
  strictVersion: z.boolean().optional()
63
64
  }),
@@ -67,6 +68,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
67
68
  mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
68
69
  scope: z.enum(["vanilla", "merged", "loader"]).optional(),
69
70
  projectPath: nonEmptyString.optional(),
71
+ gradleUserHome: nonEmptyString.optional(),
70
72
  preferProjectVersion: z.boolean().optional(),
71
73
  strictVersion: z.boolean().optional()
72
74
  }),
@@ -77,6 +79,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
77
79
  mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
78
80
  scope: z.enum(["vanilla", "merged", "loader"]).optional(),
79
81
  projectPath: nonEmptyString.optional(),
82
+ gradleUserHome: nonEmptyString.optional(),
80
83
  preferProjectVersion: z.boolean().optional(),
81
84
  strictVersion: z.boolean().optional()
82
85
  }),
@@ -101,6 +104,7 @@ export const subjectSchema = z.discriminatedUnion("kind", [
101
104
  projectPath: nonEmptyString,
102
105
  mapping: z.enum(["obfuscated", "mojang", "intermediary", "yarn"]).optional(),
103
106
  scope: z.enum(["vanilla", "merged", "loader"]).optional(),
107
+ gradleUserHome: nonEmptyString.optional(),
104
108
  preferProjectVersion: z.boolean().optional(),
105
109
  strictVersion: z.boolean().optional(),
106
110
  focus: workspaceFocusSchema.optional()
@@ -171,6 +175,7 @@ export function buildClassSubject(subject) {
171
175
  className: workspaceFocus.className,
172
176
  artifact: workspaceFocus.artifact,
173
177
  projectPath: subject.projectPath,
178
+ ...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
174
179
  mapping: subject.mapping,
175
180
  scope: subject.scope,
176
181
  preferProjectVersion: subject.preferProjectVersion,
@@ -198,6 +203,7 @@ export async function resolveWorkspaceArtifactReference(deps, subject, artifactR
198
203
  mapping: subject.mapping,
199
204
  scope: subject.scope,
200
205
  projectPath: subject.projectPath,
206
+ ...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
201
207
  preferProjectVersion: subject.preferProjectVersion,
202
208
  strictVersion: subject.strictVersion
203
209
  });
@@ -343,6 +349,7 @@ export async function resolveBinaryBackedClass(deps, className, input) {
343
349
  kind: "class",
344
350
  name: className,
345
351
  sourceMapping: input.mapping ?? "obfuscated",
352
+ ...(input.gradleUserHome !== undefined ? { gradleUserHome: input.gradleUserHome } : {}),
346
353
  nameMode: className.includes(".") ? "fqcn" : "auto",
347
354
  maxCandidates: 10
348
355
  });
@@ -391,6 +398,7 @@ export async function resolveArtifactReference(deps, subject, task) {
391
398
  mapping: subject.mapping,
392
399
  scope: subject.scope,
393
400
  projectPath: subject.projectPath,
401
+ ...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
394
402
  preferProjectVersion: subject.preferProjectVersion,
395
403
  strictVersion: subject.strictVersion
396
404
  });
@@ -414,6 +422,7 @@ export async function resolveArtifactReference(deps, subject, task) {
414
422
  mapping: subject.mapping,
415
423
  scope: subject.scope,
416
424
  projectPath: subject.projectPath,
425
+ ...(subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
417
426
  preferProjectVersion: subject.preferProjectVersion ?? true,
418
427
  strictVersion: subject.strictVersion
419
428
  });
@@ -436,6 +445,7 @@ async function resolveArtifactRef(deps, ref, subject) {
436
445
  mapping: "mapping" in subject ? subject.mapping : undefined,
437
446
  scope: "scope" in subject ? subject.scope : undefined,
438
447
  projectPath: "projectPath" in subject ? subject.projectPath : undefined,
448
+ ...("gradleUserHome" in subject && subject.gradleUserHome !== undefined ? { gradleUserHome: subject.gradleUserHome } : {}),
439
449
  preferProjectVersion: "preferProjectVersion" in subject ? subject.preferProjectVersion : undefined,
440
450
  strictVersion: "strictVersion" in subject ? subject.strictVersion : undefined
441
451
  });
@@ -8,6 +8,7 @@ export declare const inspectMinecraftShape: {
8
8
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
9
9
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
10
10
  projectPath: z.ZodOptional<z.ZodString>;
11
+ gradleUserHome: z.ZodOptional<z.ZodString>;
11
12
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
12
13
  strictVersion: z.ZodOptional<z.ZodBoolean>;
13
14
  }, "strip", z.ZodTypeAny, {
@@ -16,6 +17,7 @@ export declare const inspectMinecraftShape: {
16
17
  projectPath?: string | undefined;
17
18
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
18
19
  scope?: "vanilla" | "merged" | "loader" | undefined;
20
+ gradleUserHome?: string | undefined;
19
21
  preferProjectVersion?: boolean | undefined;
20
22
  strictVersion?: boolean | undefined;
21
23
  }, {
@@ -24,6 +26,7 @@ export declare const inspectMinecraftShape: {
24
26
  projectPath?: string | undefined;
25
27
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
26
28
  scope?: "vanilla" | "merged" | "loader" | undefined;
29
+ gradleUserHome?: string | undefined;
27
30
  preferProjectVersion?: boolean | undefined;
28
31
  strictVersion?: boolean | undefined;
29
32
  }>, z.ZodObject<{
@@ -65,6 +68,7 @@ export declare const inspectMinecraftShape: {
65
68
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
66
69
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
67
70
  projectPath: z.ZodOptional<z.ZodString>;
71
+ gradleUserHome: z.ZodOptional<z.ZodString>;
68
72
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
69
73
  strictVersion: z.ZodOptional<z.ZodBoolean>;
70
74
  }, "strip", z.ZodTypeAny, {
@@ -82,6 +86,7 @@ export declare const inspectMinecraftShape: {
82
86
  projectPath?: string | undefined;
83
87
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
84
88
  scope?: "vanilla" | "merged" | "loader" | undefined;
89
+ gradleUserHome?: string | undefined;
85
90
  preferProjectVersion?: boolean | undefined;
86
91
  strictVersion?: boolean | undefined;
87
92
  }, {
@@ -99,6 +104,7 @@ export declare const inspectMinecraftShape: {
99
104
  projectPath?: string | undefined;
100
105
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
101
106
  scope?: "vanilla" | "merged" | "loader" | undefined;
107
+ gradleUserHome?: string | undefined;
102
108
  preferProjectVersion?: boolean | undefined;
103
109
  strictVersion?: boolean | undefined;
104
110
  }>, z.ZodObject<{
@@ -141,6 +147,7 @@ export declare const inspectMinecraftShape: {
141
147
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
142
148
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
143
149
  projectPath: z.ZodOptional<z.ZodString>;
150
+ gradleUserHome: z.ZodOptional<z.ZodString>;
144
151
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
145
152
  strictVersion: z.ZodOptional<z.ZodBoolean>;
146
153
  }, "strip", z.ZodTypeAny, {
@@ -149,6 +156,7 @@ export declare const inspectMinecraftShape: {
149
156
  projectPath?: string | undefined;
150
157
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
151
158
  scope?: "vanilla" | "merged" | "loader" | undefined;
159
+ gradleUserHome?: string | undefined;
152
160
  preferProjectVersion?: boolean | undefined;
153
161
  strictVersion?: boolean | undefined;
154
162
  artifact?: {
@@ -167,6 +175,7 @@ export declare const inspectMinecraftShape: {
167
175
  projectPath?: string | undefined;
168
176
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
169
177
  scope?: "vanilla" | "merged" | "loader" | undefined;
178
+ gradleUserHome?: string | undefined;
170
179
  preferProjectVersion?: boolean | undefined;
171
180
  strictVersion?: boolean | undefined;
172
181
  artifact?: {
@@ -328,6 +337,7 @@ export declare const inspectMinecraftShape: {
328
337
  projectPath: z.ZodString;
329
338
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
330
339
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
340
+ gradleUserHome: z.ZodOptional<z.ZodString>;
331
341
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
332
342
  strictVersion: z.ZodOptional<z.ZodBoolean>;
333
343
  focus: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -543,6 +553,7 @@ export declare const inspectMinecraftShape: {
543
553
  projectPath: string;
544
554
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
545
555
  scope?: "vanilla" | "merged" | "loader" | undefined;
556
+ gradleUserHome?: string | undefined;
546
557
  preferProjectVersion?: boolean | undefined;
547
558
  strictVersion?: boolean | undefined;
548
559
  focus?: {
@@ -596,6 +607,7 @@ export declare const inspectMinecraftShape: {
596
607
  projectPath: string;
597
608
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
598
609
  scope?: "vanilla" | "merged" | "loader" | undefined;
610
+ gradleUserHome?: string | undefined;
599
611
  preferProjectVersion?: boolean | undefined;
600
612
  strictVersion?: boolean | undefined;
601
613
  focus?: {
@@ -659,6 +671,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
659
671
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
660
672
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
661
673
  projectPath: z.ZodOptional<z.ZodString>;
674
+ gradleUserHome: z.ZodOptional<z.ZodString>;
662
675
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
663
676
  strictVersion: z.ZodOptional<z.ZodBoolean>;
664
677
  }, "strip", z.ZodTypeAny, {
@@ -667,6 +680,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
667
680
  projectPath?: string | undefined;
668
681
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
669
682
  scope?: "vanilla" | "merged" | "loader" | undefined;
683
+ gradleUserHome?: string | undefined;
670
684
  preferProjectVersion?: boolean | undefined;
671
685
  strictVersion?: boolean | undefined;
672
686
  }, {
@@ -675,6 +689,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
675
689
  projectPath?: string | undefined;
676
690
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
677
691
  scope?: "vanilla" | "merged" | "loader" | undefined;
692
+ gradleUserHome?: string | undefined;
678
693
  preferProjectVersion?: boolean | undefined;
679
694
  strictVersion?: boolean | undefined;
680
695
  }>, z.ZodObject<{
@@ -716,6 +731,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
716
731
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
717
732
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
718
733
  projectPath: z.ZodOptional<z.ZodString>;
734
+ gradleUserHome: z.ZodOptional<z.ZodString>;
719
735
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
720
736
  strictVersion: z.ZodOptional<z.ZodBoolean>;
721
737
  }, "strip", z.ZodTypeAny, {
@@ -733,6 +749,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
733
749
  projectPath?: string | undefined;
734
750
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
735
751
  scope?: "vanilla" | "merged" | "loader" | undefined;
752
+ gradleUserHome?: string | undefined;
736
753
  preferProjectVersion?: boolean | undefined;
737
754
  strictVersion?: boolean | undefined;
738
755
  }, {
@@ -750,6 +767,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
750
767
  projectPath?: string | undefined;
751
768
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
752
769
  scope?: "vanilla" | "merged" | "loader" | undefined;
770
+ gradleUserHome?: string | undefined;
753
771
  preferProjectVersion?: boolean | undefined;
754
772
  strictVersion?: boolean | undefined;
755
773
  }>, z.ZodObject<{
@@ -792,6 +810,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
792
810
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
793
811
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
794
812
  projectPath: z.ZodOptional<z.ZodString>;
813
+ gradleUserHome: z.ZodOptional<z.ZodString>;
795
814
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
796
815
  strictVersion: z.ZodOptional<z.ZodBoolean>;
797
816
  }, "strip", z.ZodTypeAny, {
@@ -800,6 +819,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
800
819
  projectPath?: string | undefined;
801
820
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
802
821
  scope?: "vanilla" | "merged" | "loader" | undefined;
822
+ gradleUserHome?: string | undefined;
803
823
  preferProjectVersion?: boolean | undefined;
804
824
  strictVersion?: boolean | undefined;
805
825
  artifact?: {
@@ -818,6 +838,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
818
838
  projectPath?: string | undefined;
819
839
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
820
840
  scope?: "vanilla" | "merged" | "loader" | undefined;
841
+ gradleUserHome?: string | undefined;
821
842
  preferProjectVersion?: boolean | undefined;
822
843
  strictVersion?: boolean | undefined;
823
844
  artifact?: {
@@ -979,6 +1000,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
979
1000
  projectPath: z.ZodString;
980
1001
  mapping: z.ZodOptional<z.ZodEnum<["obfuscated", "mojang", "intermediary", "yarn"]>>;
981
1002
  scope: z.ZodOptional<z.ZodEnum<["vanilla", "merged", "loader"]>>;
1003
+ gradleUserHome: z.ZodOptional<z.ZodString>;
982
1004
  preferProjectVersion: z.ZodOptional<z.ZodBoolean>;
983
1005
  strictVersion: z.ZodOptional<z.ZodBoolean>;
984
1006
  focus: z.ZodOptional<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
@@ -1194,6 +1216,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1194
1216
  projectPath: string;
1195
1217
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1196
1218
  scope?: "vanilla" | "merged" | "loader" | undefined;
1219
+ gradleUserHome?: string | undefined;
1197
1220
  preferProjectVersion?: boolean | undefined;
1198
1221
  strictVersion?: boolean | undefined;
1199
1222
  focus?: {
@@ -1247,6 +1270,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1247
1270
  projectPath: string;
1248
1271
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1249
1272
  scope?: "vanilla" | "merged" | "loader" | undefined;
1273
+ gradleUserHome?: string | undefined;
1250
1274
  preferProjectVersion?: boolean | undefined;
1251
1275
  strictVersion?: boolean | undefined;
1252
1276
  focus?: {
@@ -1312,6 +1336,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1312
1336
  projectPath?: string | undefined;
1313
1337
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1314
1338
  scope?: "vanilla" | "merged" | "loader" | undefined;
1339
+ gradleUserHome?: string | undefined;
1315
1340
  preferProjectVersion?: boolean | undefined;
1316
1341
  strictVersion?: boolean | undefined;
1317
1342
  } | {
@@ -1329,6 +1354,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1329
1354
  projectPath?: string | undefined;
1330
1355
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1331
1356
  scope?: "vanilla" | "merged" | "loader" | undefined;
1357
+ gradleUserHome?: string | undefined;
1332
1358
  preferProjectVersion?: boolean | undefined;
1333
1359
  strictVersion?: boolean | undefined;
1334
1360
  } | {
@@ -1337,6 +1363,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1337
1363
  projectPath?: string | undefined;
1338
1364
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1339
1365
  scope?: "vanilla" | "merged" | "loader" | undefined;
1366
+ gradleUserHome?: string | undefined;
1340
1367
  preferProjectVersion?: boolean | undefined;
1341
1368
  strictVersion?: boolean | undefined;
1342
1369
  artifact?: {
@@ -1386,6 +1413,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1386
1413
  projectPath: string;
1387
1414
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1388
1415
  scope?: "vanilla" | "merged" | "loader" | undefined;
1416
+ gradleUserHome?: string | undefined;
1389
1417
  preferProjectVersion?: boolean | undefined;
1390
1418
  strictVersion?: boolean | undefined;
1391
1419
  focus?: {
@@ -1448,6 +1476,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1448
1476
  projectPath?: string | undefined;
1449
1477
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1450
1478
  scope?: "vanilla" | "merged" | "loader" | undefined;
1479
+ gradleUserHome?: string | undefined;
1451
1480
  preferProjectVersion?: boolean | undefined;
1452
1481
  strictVersion?: boolean | undefined;
1453
1482
  } | {
@@ -1465,6 +1494,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1465
1494
  projectPath?: string | undefined;
1466
1495
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1467
1496
  scope?: "vanilla" | "merged" | "loader" | undefined;
1497
+ gradleUserHome?: string | undefined;
1468
1498
  preferProjectVersion?: boolean | undefined;
1469
1499
  strictVersion?: boolean | undefined;
1470
1500
  } | {
@@ -1473,6 +1503,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1473
1503
  projectPath?: string | undefined;
1474
1504
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1475
1505
  scope?: "vanilla" | "merged" | "loader" | undefined;
1506
+ gradleUserHome?: string | undefined;
1476
1507
  preferProjectVersion?: boolean | undefined;
1477
1508
  strictVersion?: boolean | undefined;
1478
1509
  artifact?: {
@@ -1522,6 +1553,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1522
1553
  projectPath: string;
1523
1554
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1524
1555
  scope?: "vanilla" | "merged" | "loader" | undefined;
1556
+ gradleUserHome?: string | undefined;
1525
1557
  preferProjectVersion?: boolean | undefined;
1526
1558
  strictVersion?: boolean | undefined;
1527
1559
  focus?: {
@@ -1584,6 +1616,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1584
1616
  projectPath?: string | undefined;
1585
1617
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1586
1618
  scope?: "vanilla" | "merged" | "loader" | undefined;
1619
+ gradleUserHome?: string | undefined;
1587
1620
  preferProjectVersion?: boolean | undefined;
1588
1621
  strictVersion?: boolean | undefined;
1589
1622
  } | {
@@ -1601,6 +1634,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1601
1634
  projectPath?: string | undefined;
1602
1635
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1603
1636
  scope?: "vanilla" | "merged" | "loader" | undefined;
1637
+ gradleUserHome?: string | undefined;
1604
1638
  preferProjectVersion?: boolean | undefined;
1605
1639
  strictVersion?: boolean | undefined;
1606
1640
  } | {
@@ -1609,6 +1643,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1609
1643
  projectPath?: string | undefined;
1610
1644
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1611
1645
  scope?: "vanilla" | "merged" | "loader" | undefined;
1646
+ gradleUserHome?: string | undefined;
1612
1647
  preferProjectVersion?: boolean | undefined;
1613
1648
  strictVersion?: boolean | undefined;
1614
1649
  artifact?: {
@@ -1658,6 +1693,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1658
1693
  projectPath: string;
1659
1694
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1660
1695
  scope?: "vanilla" | "merged" | "loader" | undefined;
1696
+ gradleUserHome?: string | undefined;
1661
1697
  preferProjectVersion?: boolean | undefined;
1662
1698
  strictVersion?: boolean | undefined;
1663
1699
  focus?: {
@@ -1720,6 +1756,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1720
1756
  projectPath?: string | undefined;
1721
1757
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1722
1758
  scope?: "vanilla" | "merged" | "loader" | undefined;
1759
+ gradleUserHome?: string | undefined;
1723
1760
  preferProjectVersion?: boolean | undefined;
1724
1761
  strictVersion?: boolean | undefined;
1725
1762
  } | {
@@ -1737,6 +1774,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1737
1774
  projectPath?: string | undefined;
1738
1775
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1739
1776
  scope?: "vanilla" | "merged" | "loader" | undefined;
1777
+ gradleUserHome?: string | undefined;
1740
1778
  preferProjectVersion?: boolean | undefined;
1741
1779
  strictVersion?: boolean | undefined;
1742
1780
  } | {
@@ -1745,6 +1783,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1745
1783
  projectPath?: string | undefined;
1746
1784
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1747
1785
  scope?: "vanilla" | "merged" | "loader" | undefined;
1786
+ gradleUserHome?: string | undefined;
1748
1787
  preferProjectVersion?: boolean | undefined;
1749
1788
  strictVersion?: boolean | undefined;
1750
1789
  artifact?: {
@@ -1794,6 +1833,7 @@ export declare const inspectMinecraftSchema: z.ZodEffects<z.ZodObject<{
1794
1833
  projectPath: string;
1795
1834
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn" | undefined;
1796
1835
  scope?: "vanilla" | "merged" | "loader" | undefined;
1836
+ gradleUserHome?: string | undefined;
1797
1837
  preferProjectVersion?: boolean | undefined;
1798
1838
  strictVersion?: boolean | undefined;
1799
1839
  focus?: {
@@ -63,7 +63,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
63
63
  projectPath: input.subject.projectPath,
64
64
  reason: "missing-version"
65
65
  });
66
- const tasks = await buildEarlyTasksForBlocked(input.subject.projectPath, detail, include);
66
+ const tasks = await buildEarlyTasksForBlocked(input.subject.projectPath, detail, include, undefined, input.subject.gradleUserHome);
67
67
  return {
68
68
  ...baseResult,
69
69
  ...(tasks ? { tasks } : {}),
@@ -71,6 +71,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
71
71
  };
72
72
  }
73
73
  const projectPath = input.subject.projectPath;
74
+ const gradleUserHome = input.subject.gradleUserHome;
74
75
  const discover = input.subject.discover ?? ["mixins", "access-wideners"];
75
76
  await safeEmit(options.stageEmitter, "validate-project:workspace-discovery", {
76
77
  projectPath,
@@ -138,7 +139,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
138
139
  mixinDiscoveryCount: mixinConfigs.length,
139
140
  awDiscoveryCount: accessWideners.length,
140
141
  atDiscoveryCount: accessTransformers.length
141
- });
142
+ }, gradleUserHome);
142
143
  return {
143
144
  ...baseResult,
144
145
  ...(tasks ? { tasks } : {}),
@@ -180,7 +181,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
180
181
  projectPath,
181
182
  reason: "version-not-required"
182
183
  });
183
- const tasks = await buildEarlyTasksForBlocked(projectPath, detail, include);
184
+ const tasks = await buildEarlyTasksForBlocked(projectPath, detail, include, undefined, gradleUserHome);
184
185
  return {
185
186
  ...baseResult,
186
187
  ...(tasks ? { tasks } : {}),
@@ -214,6 +215,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
214
215
  sourcePriority: input.sourcePriority,
215
216
  scope: input.scope,
216
217
  projectPath,
218
+ gradleUserHome,
217
219
  preferProjectVersion: false,
218
220
  preferProjectMapping: input.preferProjectMapping,
219
221
  sourceRoots: input.sourceRoots,
@@ -264,6 +266,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
264
266
  mapping: input.mapping,
265
267
  sourcePriority: input.sourcePriority,
266
268
  projectPath,
269
+ gradleUserHome,
267
270
  scope: input.scope,
268
271
  preferProjectVersion: input.preferProjectVersion
269
272
  });
@@ -312,6 +315,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
312
315
  atNamespace: input.atNamespace,
313
316
  sourcePriority: input.sourcePriority,
314
317
  projectPath,
318
+ gradleUserHome,
315
319
  scope: input.scope,
316
320
  preferProjectVersion: input.preferProjectVersion
317
321
  });
@@ -390,6 +394,7 @@ export async function handleProjectSummary(deps, input, detail, include, options
390
394
  resolvedVersion: validationVersion,
391
395
  mapping: input.mapping,
392
396
  sourcePriority: input.sourcePriority,
397
+ gradleUserHome,
393
398
  scope: input.scope,
394
399
  preferProjectVersion: input.preferProjectVersion,
395
400
  mixinDiscoveryCount: mixinConfigs.length,
@@ -53,6 +53,7 @@ type MinecraftArtifactProbeInput = {
53
53
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn";
54
54
  sourcePriority?: "loom-first" | "maven-first";
55
55
  projectPath?: string;
56
+ gradleUserHome?: string;
56
57
  scope?: "vanilla" | "merged" | "loader";
57
58
  preferProjectVersion?: boolean;
58
59
  };
@@ -73,6 +74,7 @@ export type ValidateProjectDeps = {
73
74
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn";
74
75
  sourcePriority?: "loom-first" | "maven-first";
75
76
  projectPath?: string;
77
+ gradleUserHome?: string;
76
78
  scope?: "vanilla" | "merged" | "loader";
77
79
  preferProjectVersion?: boolean;
78
80
  }) => Promise<Record<string, unknown> & {
@@ -84,6 +86,7 @@ export type ValidateProjectDeps = {
84
86
  atNamespace?: "srg" | "mojang" | "obfuscated";
85
87
  sourcePriority?: "loom-first" | "maven-first";
86
88
  projectPath?: string;
89
+ gradleUserHome?: string;
87
90
  scope?: "vanilla" | "merged" | "loader";
88
91
  preferProjectVersion?: boolean;
89
92
  }) => Promise<Record<string, unknown> & {
@@ -96,7 +99,7 @@ export type ValidateProjectDeps = {
96
99
  probeMinecraftArtifact?: (input: MinecraftArtifactProbeInput) => Promise<MinecraftArtifactProbeOutput>;
97
100
  resolveArtifact?: (input: MinecraftArtifactProbeInput) => Promise<MinecraftArtifactProbeOutput>;
98
101
  };
99
- export declare function runUpstreamProbes(projectPath: string): Promise<{
102
+ export declare function runUpstreamProbes(projectPath: string, gradleUserHome?: string): Promise<{
100
103
  workspace: TaskStatusReport["workspace.detected"];
101
104
  gradle: TaskStatusReport["gradle.readable"];
102
105
  loom: TaskStatusReport["loom.cache.found"];
@@ -105,7 +108,7 @@ export declare function buildEarlyTasksForBlocked(projectPath: string, detail: "
105
108
  mixinDiscoveryCount: number;
106
109
  awDiscoveryCount: number;
107
110
  atDiscoveryCount: number;
108
- }): Promise<TaskStatusReport | undefined>;
111
+ }, gradleUserHome?: string): Promise<TaskStatusReport | undefined>;
109
112
  export declare function buildFullTaskStatusReport(deps: ValidateProjectDeps, args: {
110
113
  projectPath: string;
111
114
  detail: "summary" | "standard" | "full";
@@ -113,6 +116,7 @@ export declare function buildFullTaskStatusReport(deps: ValidateProjectDeps, arg
113
116
  resolvedVersion: string;
114
117
  mapping?: "obfuscated" | "mojang" | "intermediary" | "yarn";
115
118
  sourcePriority?: "loom-first" | "maven-first";
119
+ gradleUserHome?: string;
116
120
  scope?: "vanilla" | "merged" | "loader";
117
121
  preferProjectVersion?: boolean;
118
122
  mixinDiscoveryCount: number;
@@ -100,10 +100,10 @@ async function probeGradleReadable(projectPath) {
100
100
  };
101
101
  }
102
102
  }
103
- async function probeLoomCacheFound(projectPath) {
103
+ async function probeLoomCacheFound(projectPath, gradleUserHome) {
104
104
  const startedAt = Date.now();
105
105
  try {
106
- const roots = buildVersionSourceSearchRoots(projectPath);
106
+ const roots = buildVersionSourceSearchRoots({ projectPath, gradleUserHome });
107
107
  for (const root of roots) {
108
108
  if (await pathExists(root)) {
109
109
  return {
@@ -147,6 +147,7 @@ async function probeMinecraftArtifactResolved(artifactProbe, args, stageEmitter)
147
147
  mapping: args.mapping,
148
148
  sourcePriority: args.sourcePriority,
149
149
  projectPath: args.projectPath,
150
+ gradleUserHome: args.gradleUserHome,
150
151
  scope: args.scope,
151
152
  preferProjectVersion: args.preferProjectVersion
152
153
  });
@@ -215,9 +216,9 @@ function projectTaskStatusReport(report, detail, include) {
215
216
  }
216
217
  return projected;
217
218
  }
218
- export async function runUpstreamProbes(projectPath) {
219
+ export async function runUpstreamProbes(projectPath, gradleUserHome) {
219
220
  const workspace = await probeWorkspaceDetected(projectPath);
220
- const loom = await probeLoomCacheFound(projectPath);
221
+ const loom = await probeLoomCacheFound(projectPath, gradleUserHome);
221
222
  let gradle;
222
223
  if (workspace.status !== "ok") {
223
224
  gradle = { status: "skipped" };
@@ -227,11 +228,11 @@ export async function runUpstreamProbes(projectPath) {
227
228
  }
228
229
  return { workspace, gradle, loom };
229
230
  }
230
- export async function buildEarlyTasksForBlocked(projectPath, detail, include, discovery) {
231
+ export async function buildEarlyTasksForBlocked(projectPath, detail, include, discovery, gradleUserHome) {
231
232
  if (VALIDATE_PROJECT_TASKS_OFF) {
232
233
  return undefined;
233
234
  }
234
- const { workspace, gradle, loom } = await runUpstreamProbes(projectPath);
235
+ const { workspace, gradle, loom } = await runUpstreamProbes(projectPath, gradleUserHome);
235
236
  const minecraftArtifactResolved = {
236
237
  status: "skipped"
237
238
  };
@@ -262,7 +263,7 @@ export async function buildFullTaskStatusReport(deps, args) {
262
263
  if (VALIDATE_PROJECT_TASKS_OFF) {
263
264
  return undefined;
264
265
  }
265
- const { workspace, gradle, loom } = await runUpstreamProbes(args.projectPath);
266
+ const { workspace, gradle, loom } = await runUpstreamProbes(args.projectPath, args.gradleUserHome);
266
267
  let minecraftArtifactResolved;
267
268
  if (workspace.status !== "ok" || gradle.status !== "ok") {
268
269
  minecraftArtifactResolved = { status: "skipped" };
@@ -274,6 +275,7 @@ export async function buildFullTaskStatusReport(deps, args) {
274
275
  mapping: args.mapping,
275
276
  sourcePriority: args.sourcePriority,
276
277
  projectPath: args.projectPath,
278
+ gradleUserHome: args.gradleUserHome,
277
279
  scope: args.scope,
278
280
  preferProjectVersion: args.preferProjectVersion
279
281
  }, args.stageEmitter);
@@ -52,14 +52,17 @@ export declare const validateProjectShape: {
52
52
  subject: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
53
53
  kind: z.ZodLiteral<"workspace">;
54
54
  projectPath: z.ZodString;
55
+ gradleUserHome: z.ZodOptional<z.ZodString>;
55
56
  discover: z.ZodOptional<z.ZodArray<z.ZodEnum<["mixins", "access-wideners", "access-transformers"]>, "many">>;
56
57
  }, "strip", z.ZodTypeAny, {
57
58
  kind: "workspace";
58
59
  projectPath: string;
60
+ gradleUserHome?: string | undefined;
59
61
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
60
62
  }, {
61
63
  kind: "workspace";
62
64
  projectPath: string;
65
+ gradleUserHome?: string | undefined;
63
66
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
64
67
  }>, z.ZodObject<{
65
68
  kind: z.ZodLiteral<"mixin">;
@@ -248,14 +251,17 @@ export declare const validateProjectSchema: z.ZodEffects<z.ZodObject<{
248
251
  subject: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
249
252
  kind: z.ZodLiteral<"workspace">;
250
253
  projectPath: z.ZodString;
254
+ gradleUserHome: z.ZodOptional<z.ZodString>;
251
255
  discover: z.ZodOptional<z.ZodArray<z.ZodEnum<["mixins", "access-wideners", "access-transformers"]>, "many">>;
252
256
  }, "strip", z.ZodTypeAny, {
253
257
  kind: "workspace";
254
258
  projectPath: string;
259
+ gradleUserHome?: string | undefined;
255
260
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
256
261
  }, {
257
262
  kind: "workspace";
258
263
  projectPath: string;
264
+ gradleUserHome?: string | undefined;
259
265
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
260
266
  }>, z.ZodObject<{
261
267
  kind: z.ZodLiteral<"mixin">;
@@ -449,6 +455,7 @@ export declare const validateProjectSchema: z.ZodEffects<z.ZodObject<{
449
455
  subject: {
450
456
  kind: "workspace";
451
457
  projectPath: string;
458
+ gradleUserHome?: string | undefined;
452
459
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
453
460
  } | {
454
461
  kind: "mixin";
@@ -504,6 +511,7 @@ export declare const validateProjectSchema: z.ZodEffects<z.ZodObject<{
504
511
  subject: {
505
512
  kind: "workspace";
506
513
  projectPath: string;
514
+ gradleUserHome?: string | undefined;
507
515
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
508
516
  } | {
509
517
  kind: "mixin";
@@ -571,6 +579,7 @@ export declare const validateProjectSchema: z.ZodEffects<z.ZodObject<{
571
579
  subject: {
572
580
  kind: "workspace";
573
581
  projectPath: string;
582
+ gradleUserHome?: string | undefined;
574
583
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
575
584
  } | {
576
585
  kind: "mixin";
@@ -626,6 +635,7 @@ export declare const validateProjectSchema: z.ZodEffects<z.ZodObject<{
626
635
  subject: {
627
636
  kind: "workspace";
628
637
  projectPath: string;
638
+ gradleUserHome?: string | undefined;
629
639
  discover?: ("mixins" | "access-wideners" | "access-transformers")[] | undefined;
630
640
  } | {
631
641
  kind: "mixin";
@@ -31,6 +31,7 @@ const subjectSchema = z.discriminatedUnion("kind", [
31
31
  z.object({
32
32
  kind: z.literal("workspace"),
33
33
  projectPath: nonEmptyString,
34
+ gradleUserHome: nonEmptyString.optional(),
34
35
  discover: z.array(z.enum(["mixins", "access-wideners", "access-transformers"])).optional()
35
36
  }),
36
37
  z.object({
@@ -16,6 +16,7 @@ export type VerifyMixinTargetInput = {
16
16
  mapping?: SourceMapping;
17
17
  sourcePriority?: MappingSourcePriority;
18
18
  projectPath?: string;
19
+ gradleUserHome?: string;
19
20
  target?: ResolveArtifactTargetInput;
20
21
  scope?: ArtifactScope;
21
22
  preferProjectVersion?: boolean;
@@ -82,6 +83,7 @@ export type VerifyMixinTargetDeps = {
82
83
  mapping?: SourceMapping;
83
84
  sourcePriority?: MappingSourcePriority;
84
85
  projectPath?: string;
86
+ gradleUserHome?: string;
85
87
  scope?: ArtifactScope;
86
88
  preferProjectVersion?: boolean;
87
89
  strictVersion?: boolean;