From 728d2492020ee3f75d421a7263308c6feb64e56a Mon Sep 17 00:00:00 2001 From: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Date: Sun, 15 Dec 2024 23:30:35 +0100 Subject: [PATCH] Core: Add some more world convenience methods (#3021) * Add some more convenience methods * Typing stuff * Rename the method * beauxq's suggestions * Back to Push Precollected --- worlds/AutoWorld.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/worlds/AutoWorld.py b/worlds/AutoWorld.py index ded8701d..a5107179 100644 --- a/worlds/AutoWorld.py +++ b/worlds/AutoWorld.py @@ -7,7 +7,7 @@ import sys import time from random import Random from dataclasses import make_dataclass -from typing import (Any, Callable, ClassVar, Dict, FrozenSet, List, Mapping, Optional, Set, TextIO, Tuple, +from typing import (Any, Callable, ClassVar, Dict, FrozenSet, Iterable, List, Mapping, Optional, Set, TextIO, Tuple, TYPE_CHECKING, Type, Union) from Options import item_and_loc_options, ItemsAccessibility, OptionGroup, PerGameCommonOptions @@ -534,12 +534,24 @@ class World(metaclass=AutoWorldRegister): def get_location(self, location_name: str) -> "Location": return self.multiworld.get_location(location_name, self.player) + def get_locations(self) -> "Iterable[Location]": + return self.multiworld.get_locations(self.player) + def get_entrance(self, entrance_name: str) -> "Entrance": return self.multiworld.get_entrance(entrance_name, self.player) + def get_entrances(self) -> "Iterable[Entrance]": + return self.multiworld.get_entrances(self.player) + def get_region(self, region_name: str) -> "Region": return self.multiworld.get_region(region_name, self.player) + def get_regions(self) -> "Iterable[Region]": + return self.multiworld.get_regions(self.player) + + def push_precollected(self, item: Item) -> None: + self.multiworld.push_precollected(item) + @property def player_name(self) -> str: return self.multiworld.get_player_name(self.player)