2016.08.06/help/plなどのコマンドをプラグイン側から無効化する方法を紹介したいと思います。独自で追加した・されたコマンドも無効化できます。PlayerCommandPreprocessEventを使うPlayerCommandPreprocessEventはゲーム内からプレイヤーがコマンドを実行した時に発生します。似ているイベントとしてServerCommandEventがありますが、これはコンソールからコマンドを実行した時に発生します。command);//プレイヤーに表示}実行したコマンドの内容はgetMessage()で取得することができます。実行してみと/も一緒に取得されることがが分かりますね。command);//プレイヤーに表示if(command.equalsIgnoreCase("/pl")){e.setCancelled(true);//キャンセルplayer.sendMessage("キャンセルした");}}そのまま取得したコマンドと禁止したいコマンドが比例していた場合、イベントをキャンセルしてしまえば、実行したコマンドは無効化されます。引数があると回避できる実はこのままの場合、引数があるとキャンセルを回避することができます。hikisuu例えばこのように実行するとコマンドは正しく実行されますが、プラグイン側では文字列全体で比べて判別しているので回避されてしまいます。command);//プレイヤーに表示if(command[0].equalsIgnoreCase("/pl")){e.setCancelled(true);//キャンセルplayer.sendMessage("キャンセルした");}}なのでsplit関数を使いスペース毎に分けて配列に一度いれます。hairetu/plhairetuそうするとこのように分割することができます。あとは一番最初の配列と禁止したいコマンドの文字列を比べるようにすれば、引数がいくつあっても回避されることは無くなります。開発】インベントリとチェストのスロットなどの基本マインクラフトでインベントリに触れる機会は以外にあります。【Plugin開発】BookMetaで本の名前を取得したり設定する本のアイテム名を取得したかったのですが色々とあったので記事に残しておきたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。マイクラ歴6年目のマインクラフター。Twitter管理人からのお願い。当ブログの文字/画像の無断転載は禁止です。当ブログに対するリンクはご自由にどうぞ。記事に関係無いご意見・ご質問は、お問い合わせフォームからお問い合わせください。//]]>タイトルとURLをコピーしました。