Skip to content

Commit 85d91ae

Browse files
authored
docs: improve player manager documentation (#1626)
### Motivation The player manager documentation is outdated and often causes issues in our support. This should be updated. ### Modification Updated the documentation of the player manager to provide more information on how to obtain an instance of it. ### Result More and better documentation on how to obtain a player manager instance
1 parent a265c7a commit 85d91ae

2 files changed

Lines changed: 27 additions & 4 deletions

File tree

  • driver/api/src/main/java/eu/cloudnetservice/driver/registry
  • modules/bridge/api/src/main/java/eu/cloudnetservice/modules/bridge/player

driver/api/src/main/java/eu/cloudnetservice/driver/registry/Service.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
* {@code
3333
* @Inject
3434
* public TestClass(ServiceRegistry registry) {
35-
* var playerManager = registry.firstProvider(PlayerManager.class);
35+
* var playerManager = registry.defaultInstance(PlayerManager.class);
3636
* playerManager.onlineCount();
3737
* }
3838
* }

modules/bridge/api/src/main/java/eu/cloudnetservice/modules/bridge/player/PlayerManager.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,33 @@
2626
import org.jetbrains.annotations.Range;
2727

2828
/**
29-
* The player manager is the main api point to access cloud offline and online players. Accessing the player manager is
30-
* possible using either {@code ServiceRegistry.first(PlayerManager.class)} or
31-
* {@code bridgeManagement.playerManager()}.
29+
* The player manager provides access to all information cloudnet has about online and offline players. Obtaining an
30+
* instance of the player manager is possible through the {@link eu.cloudnetservice.driver.registry.ServiceRegistry}.
31+
* <p>
32+
* If the player manager needs to be obtained from an injection context, the
33+
* {@link eu.cloudnetservice.driver.registry.Service} annotation can be added to the constructor or method.
34+
* {@snippet lang = "java":
35+
* private final PlayerManager playerManager;
3236
*
37+
* @Inject
38+
* public YourClass(@Service PlayerManager playerManager) {
39+
* this.playerManager = playerManager;
40+
* }
41+
* }
42+
* <p>
43+
* If the player manager needs to be obtained without an injection context, use
44+
* {@link eu.cloudnetservice.driver.registry.ServiceRegistry#defaultInstance(Class)}.
45+
* {@snippet lang = "java":
46+
* private final PlayerManager playerManager;
47+
*
48+
* public SomeClass() {
49+
* var serviceRegistry = InjectionLayer.ext().instance(ServiceRegistry.class);
50+
* this.playerManager = serviceRegistry.defaultInstance(PlayerManager.class);
51+
* }
52+
*}
53+
*
54+
* @see eu.cloudnetservice.driver.registry.Service
55+
* @see eu.cloudnetservice.driver.registry.ServiceRegistry
3356
* @since 4.0
3457
*/
3558
public interface PlayerManager {

0 commit comments

Comments
 (0)