Skip to content

Conversation

@NewSoupVi
Copy link
Member

This makes it so that import worlds.apquest works without any of the module manipulation, which simplifies & unifies the WorldSource.load_world() codepath, and crucially will bring us one step closer to lazy loading.

I'm not sure it's okay that I'm just ignoring path and target. I will have to look into it more.

Tested:
Removed worlds/apquest/, added worlds/apquest.apworld, launched APQuest client successfully.

@github-actions github-actions bot added affects: core Issues/PRs that touch core and may need additional validation. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Dec 9, 2025
@NewSoupVi NewSoupVi added the is: enhancement Issues requesting new features or pull requests implementing new features. label Dec 9, 2025
@NewSoupVi NewSoupVi changed the title Core: Make .apworlds importable using importlib Core: Make .apworlds importable using importlib (at any time) Dec 9, 2025
@NewSoupVi NewSoupVi changed the title Core: Make .apworlds importable using importlib (at any time) Core: Make .apworlds importable using importlib (without importing them manually first) Dec 9, 2025
@NewSoupVi NewSoupVi changed the title Core: Make .apworlds importable using importlib (without importing them manually first) Core: Make .apworlds importable using importlib (without force-importing first) Dec 9, 2025
@NewSoupVi NewSoupVi changed the title Core: Make .apworlds importable using importlib (without force-importing first) Core: Make .apworlds importable using importlib (without force-importing them first) Dec 9, 2025
Copy link
Member

@Berserker66 Berserker66 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks correct. I think we should merge this early next release cycle and then see if there's any problems arising from this change during it.

@NewSoupVi
Copy link
Member Author

NewSoupVi commented Dec 11, 2025

Sure. I've also been trying to think about how to make a unittest for this... Basically APWorld Builder -> Delete corresponding world folders -> Generate a MW per game (on a new process)

or maybe something less "destructive" than that lol but something along those lines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

affects: core Issues/PRs that touch core and may need additional validation. is: enhancement Issues requesting new features or pull requests implementing new features. waiting-on: peer-review Issue/PR has not been reviewed by enough people yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants