File tree Expand file tree Collapse file tree 3 files changed +11
-3
lines changed
Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -1787,7 +1787,7 @@ def yaml_dump_scalar(scalar) -> str:
17871787
17881788 res = template .render (
17891789 option_groups = option_groups ,
1790- __version__ = __version__ ,
1790+ __version__ = world . minimum_ap_version . as_simple_string () if world . minimum_ap_version else __version__ ,
17911791 game = game_name ,
17921792 world_version = world .world_version .as_simple_string (),
17931793 yaml_dump = yaml_dump_scalar ,
Original file line number Diff line number Diff line change @@ -347,6 +347,8 @@ class World(metaclass=AutoWorldRegister):
347347 """path it was loaded from"""
348348 world_version : ClassVar [Version ] = Version (0 , 0 , 0 )
349349 """Optional world version loaded from archipelago.json"""
350+ minimum_ap_version : ClassVar [Optional [Version ]] = None
351+ """Optional minimum Archipelago version loaded from archipelago.json"""
350352
351353 def __init__ (self , multiworld : "MultiWorld" , player : int ):
352354 assert multiworld is not None
Original file line number Diff line number Diff line change @@ -117,7 +117,10 @@ def load(self) -> bool:
117117 break
118118 game = manifest .get ("game" )
119119 if game in AutoWorldRegister .world_types :
120- AutoWorldRegister .world_types [game ].world_version = tuplize_version (manifest .get ("world_version" , "0.0.0" ))
120+ world = AutoWorldRegister .world_types [game ]
121+ world .world_version = tuplize_version (manifest .get ("world_version" , "0.0.0" ))
122+ if "minimum_ap_version" in manifest .keys ():
123+ world .minimum_ap_version = tuplize_version (manifest .get ("minimum_ap_version" ))
121124
122125if apworlds :
123126 # encapsulation for namespace / gc purposes
@@ -188,8 +191,11 @@ def find_spec(
188191 apworld_source .load ()
189192 if apworld .game in AutoWorldRegister .world_types :
190193 # world could fail to load at this point
194+ world = AutoWorldRegister .world_types [apworld .game ]
191195 if apworld .world_version :
192- AutoWorldRegister .world_types [apworld .game ].world_version = apworld .world_version
196+ world .world_version = apworld .world_version
197+ if apworld .minimum_ap_version :
198+ world .minimum_ap_version = apworld .minimum_ap_version
193199 load_apworlds ()
194200 del load_apworlds
195201
You can’t perform that action at this time.
0 commit comments