ObjectTagsMutation

基本信息

net.glease.tc4tweak.modules.objectTag.ObjectTagsMutation —— 记录 ObjectTagsCache 的写入变更,支持撤销与重载。

接线方式

变更由 GetObjectTags.InterceptingConcurrentHashMap.put(覆写 put)触发 —— 即「往要素映射里写」这一动作被本类记录,而不是缓存自己感知。

为什么需要变更追踪

要素映射会被 MTCompat(MineTweaker 脚本)修改。 脚本执行后需要能:

  1. 知道哪些条目变了以便失效相关缓存;
  2. 在脚本 reload / 回滚时恢复原状。

Infusion Recipe 模块 里的 CustomBehavior<T> implements IUndoableAction 是同一套撤销机制的另一处体现(见 Infusion Recipe 模块)。

可见性

包私有(无 public),只服务于 objectTag 包与 FlushableCache 体系。

相关条目

源码

  • src/main/java/net/glease/tc4tweak/modules/objectTag/ObjectTagsMutation.java