Skip to content

Conversation

@runcows
Copy link
Contributor

@runcows runcows commented Oct 31, 2025

Cherry picking from #1168

Small update to the manifest plugin to allow overlays of init.
While currently we do not have any overlays of init functions, the current behaviour is undocumented and confusing.
I've had issues with this behavior before (resolved in #1099 commit [ec0e9fc])

@SpecialBuilder32
Copy link
Member

So what's the use-case for needing overlays of init? I would argue from a design standpoint init should be constant throughout any overlayed versions, especially since its main purpose is to start clocks and define scoreboards and other constants. I worry that multiple copies of init could cause confusion where it's not really needed.

@runcows
Copy link
Contributor Author

runcows commented Nov 1, 2025

I can't argue with that, and can't provide any use-cases right now.
However, there has already been one instance where an overlay of init has made it past review, in Blossoming Pots first PR (#1070). Not supporting overlays of init feels like begging for more similar issues, since things like this can and will be missed in review.
If for no other reason than to save ourselves that trouble later, I think we should support overlays of init, even if we don't endorse them.

@misode misode merged commit 22d6c6e into Gamemode4Dev:master Nov 3, 2025
5 of 8 checks passed
github-actions bot pushed a commit that referenced this pull request Nov 3, 2025
…1184)

* Update `manifest.py` to allow overlays of init functions

* Refactor changes

---------

Co-authored-by: Misode <misoloo64@gmail.com>
@runcows runcows deleted the mainfest-overlay-init branch November 4, 2025 01:20
@SpecialBuilder32
Copy link
Member

...so I'm not sure why this was merged.

Anyway @runcows, so what did you use an init overlay in Blossoming Pots then? I'd consider that a use-case, but I can't tell from just looking at the code itself.

@runcows
Copy link
Contributor Author

runcows commented Nov 4, 2025

Yeah, I had, but the reason for it was silly. I was using it to check the version of the big data storage to see if it needed to be changed. Overlaying init was to check if the current overlays format was loaded. It was a holdover from how I had blossoming pots before GM4 and definitely not necessary. That, in combination with the overlay of init breaking versioning through manifest, is why I removed the overlay in #1099.

@runcows runcows restored the mainfest-overlay-init branch November 4, 2025 03:53
@runcows runcows deleted the mainfest-overlay-init branch December 1, 2025 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants