From 0d6cbd9093361f734c0d6af939c8bc1e32207c43 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Tue, 23 Aug 2022 23:33:30 +0200 Subject: [PATCH] Core: convert item name groups to frozenset Some worlds define them in lists, this speeds up lookup via state.has_group() or similar --- worlds/AutoWorld.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index 02b94c5f..8d9a1b08 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -27,7 +27,8 @@ class AutoWorldRegister(type): # build rest dct["item_names"] = frozenset(dct["item_name_to_id"]) - dct["item_name_groups"] = dct.get("item_name_groups", {}) + dct["item_name_groups"] = {group_name: frozenset(group_set) for group_name, group_set + in dct.get("item_name_groups", {}).items()} dct["item_name_groups"]["Everything"] = dct["item_names"] dct["location_names"] = frozenset(dct["location_name_to_id"]) dct["all_item_and_group_names"] = frozenset(dct["item_names"] | set(dct.get("item_name_groups", {})))