Class ExecutionProcessorContext

java.lang.Object
net.fabricmc.loom.pipeline.ExecutionProcessorContext
All Implemented Interfaces:
ProcessorContext

public final class ExecutionProcessorContext extends Object implements ProcessorContext
执行期可用的 ProcessorContext 实现.

ProcessorContextImpl 只能在配置期使用:它持有 ConfigContext,并通过 LoomGradleExtension 读项目模型。本类把这些依赖整体换成两类输入——**可被配置缓存 序列化的值**与**执行期由 ServiceFactory 取得的服务**,从而让 jar 处理器能在 Gradle 任务 里运行。

各项输入的来源

输入与来源
接口方法本类输入配置期对应物
isSplit()ExecutionProcessorContext.JarConfigurationKind 是否 MinecraftJarConfiguration.SPLIT
isMerged() / includesClient() / includesServer() MinecraftJar.TypeMinecraftJar 实例上的同名方法
getMappings()TinyMappingsService.Options MappingConfiguration.getMappingsService(...)
createRemapper(MappingsNamespace, MappingsNamespace) TinyRemapperService.Options TinyRemapperHelper.getTinyRemapper(project, ...)
disableObfuscation() / getProductionNamespace() / getIntermediaryNamespace() 布尔值 / 两个枚举LoomGradleExtension 上的同名取值

与原实现的语义差异

  1. ProcessorContextImpl.createRemapper 返回的 LazyCloseable 在 close() 时 调用 TinyRemapper.finish();本类返回的 remapper 归 TinyRemapperService 所有, 由该服务在自身 close() 时 finish,故本类的 close() 不再重复 finish。 这与 MinecraftJarRemap 对「外部装配的 remapper」的处理一致。
  2. createRemapper 只能提供任务已经装配好的那一对命名空间(见该方法说明)。