起動・前提準備
初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
主なメソッド
主なフィールド
指定したDiscordボイスチャンネルへの入退室を、Minecraftの全体チャットへ通知する。
com.example.rankingplugin.discorddiscord/DiscordVoiceRelay.javaclass指定したDiscordボイスチャンネルへの入退室を、Minecraftの全体チャットへ通知する。 - Bukkit API はメインスレッドで呼ぶ(JDAイベントスレッドからはrunTaskへ) - 監視対象は config.yml の discord.voice_notify.voice_channel_id / voice_channel_ids
指定したDiscordボイスチャンネルへの入退室を、Minecraftの全体チャットへ通知する。discord パッケージの 小規模クラスで、運用中の主ループ・スケジューラを確認する起点です。全面展開版では、他の重点クラスと同じ章立てで読めるように補強しています。
DiscordVoiceRelayonGuildVoiceUpdatebroadcastSync初期テーブル、依存状態、定期処理の点灯など、このクラスが動き始める前提をまとめています。
イベント受理、定期監視、判定、進行更新など、実際に挙動を生む中心ロジックです。
Bukkit イベントや内部イベントを受けたあと、どの状態を更新するかをまとめています。
このクラスが前提状態を揃え、外部から利用可能な形まで立ち上がる流れです。新規依存の追加や起動失敗の調査はまずここから追います。
イベント受理、判定、状態更新、通知までの主経路です。体感不具合や想定外の分岐はこの流れのどこで止まるかを見ると切り分けやすいです。
結果を保持し、必要なら永続化し、最後に掃除まで行う出口です。画面更新だけ合って保存が壊れるケースや残骸が残るケースの確認に向きます。
| Visibility | Type | Name | 役割 |
|---|---|---|---|
private | JavaPlugin | plugin | プラグイン本体参照です。 |
private | Set<String> | watchChannelIds | watchChannelIds の状態を保持します。 |
| Signature | 説明 | 主要呼び出し |
|---|---|---|
public DiscordVoiceRelay(JavaPlugin plugin, Set<String> watchChannelIds) | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 | 主要呼び出しなし |
| Name | Visibility | Kind | 説明 |
|---|---|---|---|
| DiscordVoiceRelay | public | コンストラクタ | 依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。 |
| onGuildVoiceUpdate | public | メソッド | onGuildVoiceUpdate の主要処理を担当します。 |
| broadcastSync | private | メソッド | broadcastSync の主要処理を担当します。 |
public DiscordVoiceRelay(JavaPlugin plugin, Set<String> watchChannelIds)依存オブジェクトや初期状態を受け取り、このクラスの動作を開始できる状態へ組み立てます。
JavaPlugin pluginSet<String> watchChannelIdsなし
public void onGuildVoiceUpdate(GuildVoiceUpdateEvent event)onGuildVoiceUpdate の主要処理を担当します。
GuildVoiceUpdateEvent eventなし
private void broadcastSync(String msg)broadcastSync の主要処理を担当します。
String msgなし
onGuildVoiceUpdate → getMember → getUser → isBot → getChannelJoined → getChannelLeftbroadcastSync → getScheduler → runTask → broadcastMessage