mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-15 03:53:46 -07:00
Compare commits
4 Commits
multiserve
...
multiserve
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37b77398a7 | ||
|
|
27ae7e081f | ||
|
|
add68329e6 | ||
|
|
0768bc066a |
@@ -475,10 +475,26 @@ class Context:
|
||||
del data["location_name_groups"]
|
||||
del data["item_name_groups"] # remove from data package, but keep in self.item_name_groups
|
||||
self._init_game_data()
|
||||
|
||||
def _add_public_data_store_key(key: str, retriever: typing.Callable[[], typing.Any]):
|
||||
"""Add key to read_data and also public_stored_data_keys, to allow retrieval before auth."""
|
||||
self.public_stored_data_keys.add(key)
|
||||
self.read_data[key] = retriever
|
||||
|
||||
for game_name, game_package in self.gamespackage.items():
|
||||
_add_public_data_store_key(f"datapackage_checksum_{game_name}",
|
||||
lambda lgame=game_name: self.checksums.get(lgame, None))
|
||||
_add_public_data_store_key(f"item_name_to_id_{game_name}",
|
||||
lambda lgame=game_name: self.gamespackage[lgame]["item_name_to_id"])
|
||||
_add_public_data_store_key(f"location_name_to_id_{game_name}",
|
||||
lambda lgame=game_name: self.gamespackage[lgame]["location_name_to_id"])
|
||||
|
||||
for game_name, data in self.item_name_groups.items():
|
||||
self.read_data[f"item_name_groups_{game_name}"] = lambda lgame=game_name: self.item_name_groups[lgame]
|
||||
_add_public_data_store_key(f"item_name_groups_{game_name}",
|
||||
lambda lgame=game_name: self.item_name_groups[lgame])
|
||||
for game_name, data in self.location_name_groups.items():
|
||||
self.read_data[f"location_name_groups_{game_name}"] = lambda lgame=game_name: self.location_name_groups[lgame]
|
||||
_add_public_data_store_key(f"location_name_groups_{game_name}",
|
||||
lambda lgame=game_name: self.location_name_groups[lgame])
|
||||
|
||||
# sorted access spheres
|
||||
self.spheres = decoded_obj.get("spheres", [])
|
||||
|
||||
Reference in New Issue
Block a user