Database Search - bcssov/IronyModManager GitHub Wiki

The Database Search tool allows you to search through Irony’s internal metadata database built during the mod scanning phase.
This system is extremely fast because Irony indexes only IDs, not full file contents.

Database Search is ideal for quickly finding which mods define or override specific scripted objects.


1. What Irony Indexes

When Irony parses your mod collection, it builds a metadata database containing:

  • Definition IDs
    Examples:

    • anomaly.502
    • anomaly.555
    • my_scripted_effect
    • start_screen_event.20
  • Definition names (if available)

  • File paths where the definitions were found

  • Mod source for each definition

This information is collected from all supported script formats Irony can parse.

❗ Important

Irony does not index full code bodies or arbitrary text.
It indexes only IDs extracted from parsed definitions.


2. What Database Search Is Used For

Database Search is perfect for answering questions like:

  • “Which mod defines event anomaly.555?”
  • “Which mods contain a scripted effect named my_effect?”
  • “Are multiple mods overriding the same ID?”
  • “Where is this definition located across the entire load order?”
  • “Which mod introduces this specific object into the game?”

This is extremely useful when analyzing conflicts, creating compatibility patches, or checking if a mod unexpectedly overwrites something.


3. How to Use Database Search

  1. Open the Database Search tool
  2. Type the ID or partial ID you want to find
  3. Irony displays a list of all matching items

The search is nearly instant, regardless of how many mods are installed.

Supported search patterns:

  • Exact ID
  • Partial ID (prefix or substring)
  • Case-insensitive matching

4. Search Results

Each result typically displays:

  • ID
  • File path
  • Mod name
  • Source type (local, workshop, paradox)

This allows you to quickly identify:

  • Where a definition comes from
  • Which mods override the same object
  • Whether you have duplicates
  • Which mod “wins” based on load order

5. How It Differs From Conflict Solver

Database Search:

  • Shows all IDs, even if no conflict exists
  • Is not tied to patch generation
  • Is not affected by dependencies or conflict modes
  • Does not show conflicts — only presence and location

Conflict Solver:

  • Shows only true definition-level conflicts
  • Is affected by modes, dependencies, and ignores
  • Is used for merging and patch generation

Together, they form a complete analysis toolkit.


6. Use Cases

Database Search is especially useful for:

  • Debugging unexpected gameplay behavior
  • Finding duplicate IDs across mods
  • Detecting scripted effects or events reused in multiple mods
  • Checking if a mod actually contains what you think it contains
  • Locating definitions for manual custom patching
  • Validating mod structure when troubleshooting

Example:
Searching for:

anomaly.555

…shows every mod that defines or overrides that event.


7. Limitations

  • Only IDs are indexed
  • Full-text code search is not supported
  • Malformed or invalid files may not provide extractable IDs

Summary

Database Search is a powerful, fast, ID-based index of your entire mod collection.
It allows you to instantly find which mods define or override specific objects without manually inspecting files.

It is essential for diagnosing overrides, locating definitions, and understanding mod interactions.