Skip to content

Bug: Subnautica fails ungracefully when given an empty dict for filler_items_distribution #6360

Description

@Rooby-Roo

What happened?

YAMLs with no data inside their filler_item_distribution dicts fail with the following base python error:

Traceback (most recent call last):
  File "__startup__.py", line 133, in run
  File "console.py", line 25, in run
  File "Generate.py", line 655, in <module>
  File "Main.py", line 76, in main
  File "worlds\AutoWorld.py", line 205, in call_all
  File "worlds\AutoWorld.py", line 191, in call_single
  File "worlds\AutoWorld.py", line 184, in call_single
  File "worlds\AutoWorld.py", line 169, in _timed_call
  File "worlds\subnautica\__init__.py", line 49, in generate_early
IndexError: list index out of range

It can be reproduced with the following minimal yaml:


name: Player
game: Subnautica
Subnautica:
  filler_items_distribution: {}

Reproduced on both local install (0.6.7 windows frozen) and on site generator (as of 7/29).

What were the expected results?

Generate Early should probably detect if this dict is empty and output a more user-readable error. Alteratively, the world dev can supply a default filler distribution if the provided one is unuseable. The choice between these two is a world design decision.

Software

Local generation

Metadata

Metadata

Assignees

No one assigned

    Labels

    waiting-on: world-maintainerIssue/PR is waiting for feedback or approval by the maintainer of a world.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions