From 6613c296523185ffd4ea9c37c4c6ffe21e797935 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Mon, 21 Apr 2025 00:53:40 +0200 Subject: [PATCH] Core: print both world source paths in case of conflict (#4751) --- worlds/AutoWorld.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index b4ff2419..67455a1a 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -83,11 +83,13 @@ class AutoWorldRegister(type): # construct class new_class = super().__new__(mcs, name, bases, dct) + new_class.__file__ = sys.modules[new_class.__module__].__file__ if "game" in dct: if dct["game"] in AutoWorldRegister.world_types: - raise RuntimeError(f"""Game {dct["game"]} already registered.""") + raise RuntimeError(f"""Game {dct["game"]} already registered in + {AutoWorldRegister.world_types[dct["game"]].__file__} when attempting to register from + {new_class.__file__}.""") AutoWorldRegister.world_types[dct["game"]] = new_class - new_class.__file__ = sys.modules[new_class.__module__].__file__ if ".apworld" in new_class.__file__: new_class.zip_path = pathlib.Path(new_class.__file__).parents[1] if "settings_key" not in dct: