-
Bukkitの
Player#performCommand
メソッドを使用する方法:Player player = ...; // 実行するプレイヤーオブジェクト String command = "..."; // 実行するコマンド player.performCommand(command);
この方法はプレイヤーが実際にコマンドを入力したかのようにコマンドを実行します。
-
Bukkitの
Server#dispatchCommand
メソッドを使用する方法:Server server = ...; // サーバーオブジェクト Player player = ...; // 実行するプレイヤーオブジェクト String command = "..."; // 実行するコマンド server.dispatchCommand(player, command);
この方法は指定したプレイヤーの権限を考慮してコマンドを実行します。
-
許可されたプレイヤーのみがコマンドを実行できるようにする方法:
@EventHandler public void onPlayerCommand(PlayerCommandPreprocessEvent event) { Player player = event.getPlayer(); String command = event.getMessage().substring(1); // '/'を削除 if (!player.hasPermission("myplugin.command")) { player.sendMessage("このコマンドを実行する権限がありません。"); event.setCancelled(true); return; } // コマンドの実行処理 }
この方法では、
PlayerCommandPreprocessEvent
イベントを使用して、プレイヤーがコマンドを実行する前にイベントをキャンセルすることができます。
これらはいくつかの一般的な方法ですが、実際の使用方法はプラグインの要件や目的によって異なります。また、プラグイン開発にはさまざまな方法やツールがありますので、詳細なコード例や実装の詳細については、SpigotやBukkitの公式ドキュメントやコミュニティのリソースを参照してください。