feat(D-01/A): config-driven components + tooltip hook (A1, A2, A3)

- ResistanceComponent: resistanceId delegates to SettingsAccessor at runtime,
  fallback to hardcoded base for backward compat
- GaggingComponent: material field delegates to GagMaterial enum from ModConfig,
  explicit comprehension/range overrides take priority
- IItemComponent: add default appendTooltip() method
- ComponentHolder: iterate components for tooltip contribution
- 6 components implement appendTooltip (lockable, resistance, gagging, shock,
  gps, choking)
- DataDrivenBondageItem: call holder.appendTooltip() in appendHoverText()
This commit is contained in:
NotEvil
2026-04-14 15:05:48 +02:00
parent fa4c332a10
commit b81d3eed95
9 changed files with 196 additions and 23 deletions

View File

@@ -246,6 +246,12 @@ public class DataDrivenBondageItem extends AbstractV2BondageItem {
}
}
// Component tooltips
ComponentHolder holder = DataDrivenItemRegistry.getComponents(stack);
if (holder != null) {
holder.appendTooltip(stack, level, tooltip, flag);
}
// Lock status + escape difficulty (from AbstractV2BondageItem)
super.appendHoverText(stack, level, tooltip, flag);