Skip to content

Conversation

@AshleighAdams
Copy link
Contributor

This allows server operators to specify which driver should be in use by plugins. They are then able to use a wrapper.

This enables the use case of a player configuring their menu, allowing the effective driver to be selected on a player by player basis.

This allows server operators to specify which driver should be in use by
plugins. They are then able to use a wrapper.

This enables the use case of a player configuring their menu, allowing the
effective driver to be selected on a player by player basis.
@AshleighAdams AshleighAdams added enhancement New feature or request breaking change Will break users of this API labels Apr 19, 2025
@AshleighAdams AshleighAdams self-assigned this Apr 19, 2025
@AshleighAdams
Copy link
Contributor Author

So, a caveat with this, and probably one that can't really be fixed, is that if you want to make it player choice, for arguments sake, betwen ScreenMenuAPI and MenuManagerApi, this requires you would need the following conflicting plugins concurrently:

  • UniversalMenu.Compat.MenuManagerApi: MenuManagerApi -> UniversalMenuAPI
  • UniversalMenu.Driver.MenuManagerApi: UniversalMenuAPI -> MenuManagerAPI
  • MenuManagerCore: The actual implementation

This is again a side effect of PluginCapability not being expressive or offering enough control.
If using a native implementation that only talks UniversalMenuAPI, then you won't run into these issues

@AshleighAdams AshleighAdams marked this pull request as ready for review April 22, 2025 00:57
@AshleighAdams AshleighAdams merged commit b2feb2b into main Apr 22, 2025
1 check passed
@AshleighAdams AshleighAdams deleted the support-menu-switcher-possibility branch April 22, 2025 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Will break users of this API enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants