Class MinecraftLegacyPatchedProvider
java.lang.Object
dev.architectury.loom.forge.minecraft.MinecraftPatchedProvider
dev.architectury.loom.forge.minecraft.MinecraftLegacyPatchedProvider
-
Nested Class Summary
Nested classes/interfaces inherited from class dev.architectury.loom.forge.minecraft.MinecraftPatchedProvider
MinecraftPatchedProvider.ThrowingProducer, MinecraftPatchedProvider.Type -
Field Summary
Fields inherited from class dev.architectury.loom.forge.minecraft.MinecraftPatchedProvider
dirty, logger, minecraftProvider, project, type -
Constructor Summary
ConstructorsConstructorDescriptionMinecraftLegacyPatchedProvider(org.gradle.api.Project project, MinecraftProvider minecraftProvider, MinecraftPatchedProvider.Type type) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean锁内二次确认:判定现有产物能否复用,并返回本次是否需要整链重建.protected Path[]Returns 本配置下必须可复用的共享产物列表,供MinecraftPatchedProvider.needsWork()判定.protected voidprotected voidvoidprovide()voidremapJar(ServiceFactory serviceFactory) Methods inherited from class dev.architectury.loom.forge.minecraft.MinecraftPatchedProvider
accessTransform, accessTransformForge, applyLoomPatchVersion, copyMissingClasses, copyReplacing, createMcpExecutor, get, getOrProduceMinecraftPatchedIntermediateJar, isDirty, isPatchedJarUpToDate, isReusableJar, publishAtomically, walkFileSystems, withPatchedLock
-
Constructor Details
-
MinecraftLegacyPatchedProvider
public MinecraftLegacyPatchedProvider(org.gradle.api.Project project, MinecraftProvider minecraftProvider, MinecraftPatchedProvider.Type type)
-
-
Method Details
-
provide
- Overrides:
providein classMinecraftPatchedProvider- Throws:
Exception
-
checkCache
锁内二次确认:判定现有产物能否复用,并返回本次是否需要整链重建.与父类一致,本方法不再删除共享产物:删除会让锁外只做存在性判定的读方拿到缺失文件, 也会让其它工作树互相触发重建。legacy 链没有单一版本标记产物,任一件缺失即无法确认 其余产物与当前算法同代,因此按整链重建处理(各件仍以「临时文件 + 原子落位」重新生成)。
- Overrides:
checkCachein classMinecraftPatchedProvider- Returns:
- 是否需要整链重建
- Throws:
IOException
-
getGlobalCaches
Description copied from class:MinecraftPatchedProviderReturns 本配置下必须可复用的共享产物列表,供MinecraftPatchedProvider.needsWork()判定..列表只包含当前 jar 配置确实会生成的产物:server-only 不提供 client jar,
client-extra.jar既不生成也不进 classpath、不注册进 FORGE_EXTRA(见MinecraftPatchedProvider.providesClientJar()), 把它计入判定会让MinecraftPatchedProvider.needsWork()恒为真、每次构建都白取一次跨进程锁。- Overrides:
getGlobalCachesin classMinecraftPatchedProvider- Returns:
- 本配置下必须可复用的共享产物列表,供
MinecraftPatchedProvider.needsWork()判定
-
produceIntermediateJarIfMissing
Description copied from class:MinecraftPatchedProvider确保MinecraftPatchedProvider.getMinecraftPatchedIntermediateJar()指向的产物已存在.默认实现调用
MinecraftPatchedProvider.provide();legacy 链的产物在MinecraftPatchedProvider.remapJar(ServiceFactory)阶段生成(provide()只做判定),由子类覆盖补齐。- Overrides:
produceIntermediateJarIfMissingin classMinecraftPatchedProvider- Throws:
Exception
-
remapJar
- Overrides:
remapJarin classMinecraftPatchedProvider- Throws:
Exception
-
patchJars
- Overrides:
patchJarsin classMinecraftPatchedProvider- Throws:
Exception
-
getMinecraftIntermediateJar
- Overrides:
getMinecraftIntermediateJarin classMinecraftPatchedProvider
-
getMinecraftPatchedIntermediateJar
- Overrides:
getMinecraftPatchedIntermediateJarin classMinecraftPatchedProvider
-
getMinecraftPatchedJar
- Overrides:
getMinecraftPatchedJarin classMinecraftPatchedProvider
-