27 lines
		
	
	
		
			951 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			951 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import typing
 | 
						|
 | 
						|
import settings
 | 
						|
 | 
						|
 | 
						|
class FactorioSettings(settings.Group):
 | 
						|
    class Executable(settings.UserFilePath):
 | 
						|
        is_exe = True
 | 
						|
 | 
						|
    class ServerSettings(settings.OptionalUserFilePath):
 | 
						|
        """
 | 
						|
        by default, no settings are loaded if this file does not exist. \
 | 
						|
If this file does exist, then it will be used.
 | 
						|
        server_settings: "factorio\\\\data\\\\server-settings.json"
 | 
						|
        """
 | 
						|
 | 
						|
    class FilterItemSends(settings.Bool):
 | 
						|
        """Whether to filter item send messages displayed in-game to only those that involve you."""
 | 
						|
 | 
						|
    class BridgeChatOut(settings.Bool):
 | 
						|
        """Whether to send chat messages from players on the Factorio server to Archipelago."""
 | 
						|
 | 
						|
    executable: Executable = Executable("factorio/bin/x64/factorio")
 | 
						|
    server_settings: typing.Optional[ServerSettings] = None
 | 
						|
    filter_item_sends: typing.Union[FilterItemSends, bool] = False
 | 
						|
    bridge_chat_out: typing.Union[BridgeChatOut, bool] = True
 |