Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A prototype at preparing for Delta's work on setting up Plasmid with a proxied server network: mostly, we need to be able to have the core
/game
commands be able to work with games that might exist remotely on another server. Currently, theGameSpace
andGameConfig
interface are entirely built around the idea that the games are local, but most accessors don't need that level of information.This PR introduces a
ListedGameSpace
andListedGameConfig
interface which exposes a smaller surface area for server network support. Plasmid still does not support this natively, but it at least is one step in that direction. It is however possible for external mods to in theory hook-in to add custom game space / config lists which can be used through certain commands. Ideally, in the future, we can support server network setups out-of-the-box, but that's very future work.Not all commands will work with this setup, for example anything that operates on a player entity will naturally fail due to the player entity not existing on a remote server. Most of these I don't think are super important, but maybe some of them we would like to support in the future.
Easiest to review commit-by-commit.