今回は/sample <MESSAGE>と打つと自分に<MESSAGE>が返ってくるコマンドを試しに作っていきます。
//SampleCommand.class
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
public class SampleCommand implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
if (args.length < 1) return false;
sender.sendMessage(String.join(" ",args));
return true;
}
}
これがSampleCommand.classです。
コマンドを扱うにはCommandExecutorを実装してonCommand(CommandSender,Command,String,String[])メソッドに処理を書いていく必要があります。
//PluginMain.class
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;
public class PluginMain extends JavaPlugin{
@Override
public void onEnable() {
this.registerCommand("sample",new SampleCommand());
}
@Override
public void onDisable() {
}
public void registerCommand(String cmd, CommandExecutor executor) {
PluginCommand command = this.getCommand(cmd);
command.setExecutor(executor);
}
}
これがPluginMain.classです。
onEnableの中でコマンドを登録しましょう。
//plugin.yml
commands:
sample:
usage: /sample <MESSAGE>
description: This command parrots your words.
plugin.yml内でどのようなコマンドをこのプラグインで扱うのかをサーバ側に教える必要があります。ここでは権限なども設定できます。上記のものは最低限コマンドを実装する上で必要です。
これらを追記してください。
ここまで書いたらコンパイルしてpluginsフォルダに突っ込みましょう!