52 lines
2.0 KiB
Python
52 lines
2.0 KiB
Python
import enum
|
|
import importlib
|
|
import os
|
|
|
|
__all__ = {"lookup_any_item_id_to_name",
|
|
"lookup_any_location_id_to_name",
|
|
"network_data_package",
|
|
"Games"}
|
|
|
|
# all of the below should be moved to AutoWorld functionality
|
|
from .alttp.Items import lookup_id_to_name as alttp
|
|
from .hk.Items import lookup_id_to_name as hk
|
|
from .factorio import Technologies
|
|
from .minecraft.Items import lookup_id_to_name as mc
|
|
|
|
lookup_any_item_id_to_name = {**alttp, **hk, **Technologies.lookup_id_to_name, **mc}
|
|
assert len(alttp) + len(hk) + len(Technologies.lookup_id_to_name) + len(mc) == len(lookup_any_item_id_to_name)
|
|
lookup_any_item_name_to_id = {name: id for id, name in lookup_any_item_id_to_name.items()}
|
|
# assert len(lookup_any_item_name_to_id) == len(lookup_any_item_id_to_name) # currently broken: Single Arrow
|
|
|
|
from .alttp import Regions
|
|
from .hk import Locations
|
|
from .minecraft import Locations as Advancements
|
|
|
|
lookup_any_location_id_to_name = {**Regions.lookup_id_to_name, **Locations.lookup_id_to_name,
|
|
**Technologies.lookup_id_to_name, **Advancements.lookup_id_to_name}
|
|
assert len(Regions.lookup_id_to_name) + len(Locations.lookup_id_to_name) + \
|
|
len(Technologies.lookup_id_to_name) + len(Advancements.lookup_id_to_name) == \
|
|
len(lookup_any_location_id_to_name)
|
|
lookup_any_location_name_to_id = {name: id for id, name in lookup_any_location_id_to_name.items()}
|
|
assert len(lookup_any_location_name_to_id) == len(lookup_any_location_id_to_name)
|
|
|
|
network_data_package = {"lookup_any_location_id_to_name": lookup_any_location_id_to_name,
|
|
"lookup_any_item_id_to_name": lookup_any_item_id_to_name,
|
|
"version": 6}
|
|
|
|
|
|
@enum.unique
|
|
class Games(str, enum.Enum):
|
|
HK = "Hollow Knight"
|
|
LTTP = "A Link to the Past"
|
|
Factorio = "Factorio"
|
|
Minecraft = "Minecraft"
|
|
|
|
|
|
# end of TODO block
|
|
|
|
# import all submodules to trigger AutoWorldRegister
|
|
for file in os.scandir(os.path.dirname(__file__)):
|
|
if file.is_dir():
|
|
importlib.import_module(f".{file.name}", "worlds")
|