Files
thaumicadditions/reports/F-012.md
T
2026-10-31 21:42:27 +08:00

1.4 KiB
Raw Blame History

F-012

  • 状态:观察·已驳回(TDLM/thaumicadditions#11,2026-10-31:印面组合缓存需印面变更失效,语义难核)
  • 范式:T1
  • 位置:src/main/java/com/pengu/thaumcraft/additions/tileentity/TileSeal.java:43、:57-62
  • 证据:
    this.current = new SealCombo(new Seal[]{this.f});
    
    (:43)
    List events = MSE.events.eventList;
    
    for(int i = 0; i < events.size(); ++i) {
       if(this.CompareSealCombos(this.f, ((SealEvent)events.get(i)).getSealCombination().getSeal1()) && this.CompareSealCombos(this.s, ((SealEvent)events.get(i)).getSealCombination().getSeal2()) && this.CompareSealCombos(this.t, ((SealEvent)events.get(i)).getSealCombination().getSeal3()) || this.current.length() == 3 && ((SealEvent)events.get(i)).getSealCombination().length() == 2 && ((SealEvent)events.get(i)).canWorkWith3rdSymbol(this.t)) {
          SealEvent event = (SealEvent)events.get(i);
          event.sealTick(this.worldObj, this.xCoord, this.yCoord, this.zCoord, this.f, this.s, this.t, this.extraNBT);
    
    (:57-62)
  • 机制:封印每 tick 新建 SealCombo 并对近静态事件表线性匹配;印面未变时结果可记忆。
  • 频率:每 tick × 每封印方块。
  • 修法:印面指纹缓存 currentWorkingComboID,变更再全表扫。缓存语义需核对 ⇒ 观察。
  • 风险 · 置信度:低 · 中
  • 移交:无
  • 来源:P1 2026-10-26 2f7b9c9