Note that the properties used by vanilla are always the same instance.
API properties are clones of those.
Move duplicate code up into SpongeRegistryHolder.
#3611
- missing menu client sync
- viewer tracking
- inventory data
- furnace lens
- ignore capture on open inventory of ticking blockentity
- add cooking event test
- Implement factories
- Remove remaining references to the AssetManager
- vanilla: Load plugins as resource packs
- common: API updates and bugfixes for resource pack API
Signed-off-by: Chris Sanders <zidane@spongepowered.org>
Fix compile and test issues
Co-authored-by: Daniel Naylor <dualspiral@spongepowered.org>
* Add entitytest plugin with a spawn filter
* Fix SpawnEntityEvent#filterEntities - fixes#3506
* Don't fire SpawnEntityEvent after a cancelled SpawnEntityEvent.Pre
* Add missing EventContextKeys.SPAWN_TYPE for SpawnEntityEvent.Pre
* Add missing EventContextKeys.SPAWN_TYPE for inventory drop events
- Remove double implemented Task.Builder
- Remove pointless volatile marked counter field in SyncScheduler as it
is always ticked on the same thread
- Actually submit the Async to Sync entity spawning task in the
PhaseTracker. Note that the actual callback to detect this is not being
called yet.
- Various other cleanup
Signed-off-by: Chris Sanders <zidane@spongepowered.org>
This ensures plugins are loaded in an appropriate order, so plugins without dependencies are loaded first, and the algorithm recursively determines the load order based on satisifed dependencies. BEFORE dependencies can be supported by uncommenting the code within the TODOs in DependencyResolver, it treats thouse as "optional after" deps on the target -- though will still fail if the dependency is not there and is not optional.
If we have optional dependencies, there is a chance that a cyclic chain may occur. For optional deps, however, they should be able to handle a dependent plugin being loaded before them because they are already "optional". Thus, if we find that no plugins were loaded in a pass and but there were optional dependencies that could be ignored in that scenario, we attempt to load plugins that only have their compulsory dependencies loaded.
As for plugin-spi 0.3.0, migrate to 'sponge_plugins.json' as the
standard metadata file that will be read by Sponge.
- Cleanup the VanillaEventManager to improve code quality and maintainability
Signed-off-by: Chris Sanders <zidane@spongepowered.org>
Update for API changes.
Signed-off-by: Chris Sanders <zidane@spongepowered.org>