21 lines
		
	
	
		
			702 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			702 B
		
	
	
	
		
			Python
		
	
	
	
from typing import Dict, Set, NamedTuple
 | 
						|
from .ExtractedData import items, logic_items, item_effects
 | 
						|
 | 
						|
item_table = {}
 | 
						|
 | 
						|
 | 
						|
class HKItemData(NamedTuple):
 | 
						|
    advancement: bool
 | 
						|
    id: int
 | 
						|
    type: str
 | 
						|
 | 
						|
 | 
						|
for i, (item_name, item_type) in enumerate(items.items(), start=0x1000000):
 | 
						|
    item_table[item_name] = HKItemData(advancement=item_name in logic_items or item_name in item_effects,
 | 
						|
                                       id=i, type=item_type)
 | 
						|
 | 
						|
lookup_id_to_name: Dict[int, str] = {data.id: item_name for item_name, data in item_table.items()}
 | 
						|
lookup_type_to_names: Dict[str, Set[str]] = {}
 | 
						|
for item, item_data in item_table.items():
 | 
						|
    lookup_type_to_names.setdefault(item_data.type, set()).add(item)
 |