Archipelago/worlds/stardew_valley/test/stability/StabilityOutputScript.py

36 lines
1.3 KiB
Python
Raw Normal View History

import argparse
import json
from ...options import FarmType, EntranceRandomization
from ...test import setup_solo_multiworld, allsanity_mods_6_x_x
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--seed', help='Define seed number to generate.', type=int, required=True)
args = parser.parse_args()
seed = args.seed
options = allsanity_mods_6_x_x()
options[FarmType.internal_name] = FarmType.option_standard
options[EntranceRandomization.internal_name] = EntranceRandomization.option_buildings
multi_world = setup_solo_multiworld(options, seed=seed)
world = multi_world.worlds[1]
output = {
"bundles": {
bundle_room.name: {
bundle.name: str(bundle.items)
for bundle in bundle_room.bundles
}
for bundle_room in world.modified_bundles
},
"items": [item.name for item in multi_world.get_items()],
"location_rules": {location.name: repr(location.access_rule) for location in multi_world.get_locations(1)},
"slot_data": world.fill_slot_data()
}
print(json.dumps(output))
else:
raise RuntimeError("Do not import this file, execute it in different python session so the PYTHONHASHSEED is different..")