BungeeMessage

Plugin Messaging Output side, sender

외부로 전송될 수 있는 Plugin Message 용 데이터 입니다.

Usage

Basic

  1. BungeeMessage 를 extends 합니다. receiveServer 를 지정하지 않을 경우 모든 서버에 대해 메시지를 보냅니다.

  2. BungeeMessenger#sendData 혹은 BungeeApi#action 을 통해 보냅니다. 해당 메시지는 SigBungeeCore 쪽에서 특별히 처리하지 않는 한 지정된 목적지로 다시 보내집니다.

Callback

  1. BungeeMessageCallback을 extends 합니다. onComplete 에는 반환된 BungeeMessage 를 가공할 방법을 정의합니다.

  2. 위 메시지를 BungeeMessenger#sendData 혹은 BungeeApi#action 을 통해 보냅니다.

  3. BungeeActionCallback 를 extends 한 BungeeActionExecutor 를 client 와 proxy 에 각각 등록 합니다. (총합 4개의 클래스가 등록 되어야 합니다).

  4. 1에 등록한 BungeeMessageCallback#get 을 통해 결과를 받아볼 수 있습니다.

public class BungeeApi {
  public CompletableFuture<String> getPlayerServer(@NotNull String playerName) {
    BungeeMessageGetPlayerServer bungeeMessage = new BungeeMessageGetPlayerServer();
    BungeeCallbackController.getInstance().register(bungeeMessage);
    bungeeMessage.getJson().setSendPlayer(Set.of(playerName));

    sendMessage(bungeeMessage);

    return bungeeMessage.get();
  }
}

Format

BungeeMessage의 JSON 포맷 입니다.

Last updated