Skip to content

🐛 NullPointerException and IllegalArgumentException on EFA homebrew source due to unrecognized category and vehicleType values #878

@Pinkelll

Description

@Pinkelll

Describe the bug

ttrpg-convert.out.txt

Running ttrpg-convert-cli against a dataset including the EFA homebrew source produces two fatal errors that halt conversion entirely.

Error 1: java.lang.NullPointerException in featureTypeToString when processing any EFA dragonmark feat (e.g. Mark of Shadow). The EFA homebrew assigns "category": "D" to all 13 dragonmark feats. The converter attempts to resolve this category code against its internal lookup table, finds no match, and returns null, causing a crash.

Error 2: java.lang.IllegalArgumentException: Unexpected vehicle type: ELEMENTAL_AIRSHIP when processing EFA homebrew vehicles. Three EFA vehicles (Lyrandar Air Cruiser, Lyrandar Skyskiff, Strider Airship) use a custom vehicleType of ELEMENTAL_AIRSHIP which is not present in the VehicleType enum.

Because the converter halts on the first error encountered, these issues present sequentially rather than together.

To reproduce:

Include the EFA homebrew source in your data directory
Run ttrpg-convert.exe -o "Output" -c "config.json" "5etools-src\data"
Observe NullPointerException on first run; after patching feats, observe IllegalArgumentException on second run.

Attached is a --log file indicating information on Error 2. The file containing info on Error 1 got overwritten.

Expected Behavior

The converter should either handle unrecognized category and vehicleType values gracefully (e.g. falling back to a default or skipping the field with a warning).

TTRPG CLI Version

ttrpg-convert version 3.1.5; Git commit: 45b6500

Which Operating Systems have you experienced this on?

  • Android
  • iPhone/iPad
  • Linux
  • macOS
  • Windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions