public class GermClientAPI
extends java.lang.Object
提供与客户端进行数据交互的异步方法
使用CompletableFuture进行异步处理,避免阻塞主线程
使用示例:
CompletableFuture<Set<String>> future = reqPlayingSounds(player); future.whenComplete((playing, throwable) -> { if (!playing.contains("bgm")) { GermPacketAPI.playSound(player, "bgm"); } });
Constructor and Description |
---|
GermClientAPI() |
Modifier and Type | Method and Description |
---|---|
protected static void |
receive(long id,
RespondDataDTO dataDTO)
接收客户端响应数据
框架内部使用,用于处理客户端返回的数据
|
static java.util.concurrent.CompletableFuture<RespondDataDTO> |
req(org.bukkit.entity.Player player,
java.lang.String name,
java.lang.String data)
向客户端发送数据请求
通用的客户端数据请求方法,返回异步结果
|
static java.util.concurrent.CompletableFuture<java.lang.String> |
reqPlaceholderValue(org.bukkit.entity.Player player,
java.lang.String variable)
请求玩家客户端指定变量的值
|
static java.util.concurrent.CompletableFuture<java.util.Set<java.lang.String>> |
reqPlayingSounds(org.bukkit.entity.Player player)
请求玩家当前正在播放的声音列表
|
public static java.util.concurrent.CompletableFuture<java.util.Set<java.lang.String>> reqPlayingSounds(org.bukkit.entity.Player player)
player
- 目标玩家public static java.util.concurrent.CompletableFuture<java.lang.String> reqPlaceholderValue(org.bukkit.entity.Player player, java.lang.String variable)
player
- 目标玩家variable
- 变量名public static java.util.concurrent.CompletableFuture<RespondDataDTO> req(org.bukkit.entity.Player player, java.lang.String name, java.lang.String data)
通用的客户端数据请求方法,返回异步结果
player
- 目标玩家name
- 请求类型名称data
- 请求数据protected static void receive(long id, RespondDataDTO dataDTO)
框架内部使用,用于处理客户端返回的数据
id
- 请求IDdataDTO
- 响应数据