Core: any platform is now None/missing key

This commit is contained in:
Berserker
2026-03-08 17:26:12 +01:00
parent 41eba5a2f6
commit 9a900e29e5
3 changed files with 4 additions and 4 deletions

View File

@@ -353,7 +353,7 @@ class World(metaclass=AutoWorldRegister):
"""path it was loaded from"""
world_version: ClassVar[Version] = Version(0, 0, 0)
"""Optional world version loaded from archipelago.json"""
platforms: ClassVar[List[str]] = []
platforms: ClassVar[Optional[List[str]]] = None
"""Optional platforms loaded from archipelago.json"""
def __init__(self, multiworld: "MultiWorld", player: int):

View File

@@ -197,7 +197,7 @@ class APWorldContainer(APContainer):
world_version: "Version | None" = None
minimum_ap_version: "Version | None" = None
maximum_ap_version: "Version | None" = None
platforms: List[str] = []
platforms: Optional[List[str]] = None
def read_contents(self, opened_zipfile: zipfile.ZipFile) -> Dict[str, Any]:
from Utils import tuplize_version
@@ -206,7 +206,7 @@ class APWorldContainer(APContainer):
for version_key in ("world_version", "minimum_ap_version", "maximum_ap_version"):
if version_key in manifest:
setattr(self, version_key, tuplize_version(manifest[version_key]))
self.platforms = manifest.get("platforms", [])
self.platforms = manifest.get("platforms")
return manifest
def get_manifest(self) -> Dict[str, Any]:

View File

@@ -118,7 +118,7 @@ for world_source in world_sources:
game = manifest.get("game")
if game in AutoWorldRegister.world_types:
AutoWorldRegister.world_types[game].world_version = tuplize_version(manifest.get("world_version", "0.0.0"))
AutoWorldRegister.world_types[game].platforms = manifest.get("platforms", [])
AutoWorldRegister.world_types[game].platforms = manifest.get("platforms")
if apworlds:
# encapsulation for namespace / gc purposes