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": 9}
 | 
						|
 | 
						|
 | 
						|
@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")
 |