Minecraftでイベント等をする際に、ブロック等にあらかじめコマンドを埋め込み、指定した行動をした際にコマンドを実行したいと思ったことはありませんか?。
今回は、それを実現することができるBukkit用プラグイン「ScriptBlock」について解説します。
ScriptBlockとは
このプラグインは、ブロック等に実行したいコマンドをあらかじめ埋め込むことができ、そのブロックを叩いたり通過したりした際に、自動的にコマンドを実行することができるプラグインです。
例えば、アイテムを付与するコマンドを埋め込んでおくことで、イベントで必要なアイテムを自動配布するといったことができるようになります。
導入
ScriptBlockは、本体プラグインの他に2つのプラグインが必須となっています。
忘れずに導入しましょう!。
基本コマンド
ScriptBlockは、下記形式でコマンドを実行します。
/[発動条件] [操作] [オプション...]
発動条件は下記の2通りです。
コマンド | 条件 |
---|---|
sbinteract | ブロックが叩かれた時 |
sbwalk | ブロックの上を通過した時 |
上記2条件に加えて、下記4つの操作コマンドを組み合わせます。
コマンド | 動作 |
---|---|
create | コマンドの埋め込み作成(初回埋め込み時に使用) |
add | コマンドを追加 |
remove | コマンドを削除 |
view | 埋め込まれているコマンドを確認 |
Permissionsについて
ScriptBlockで埋め込んだコマンドを実行するには、下記2つの権限がないと実行できないので注意しましょう。
コマンド | Permissions |
---|---|
sbinteract | scriptblock.interact.use |
sbwalk | scriptblock.walk.use |
コマンドを埋め込む
コマンドを埋め込む場合は、@commandオプションを使用します。
下記コマンドは、ブロックが叩かれた時にtime setコマンドを実行する例です。
/sbinteract create @command /time set 0
さらにコマンドを追加する場合は、addで追加します。
/sbinteract add @command [コマンド]
埋め込んだコマンドに対する注意点
埋め込んだコマンドの実行権限がなければ基本的に実行に失敗します。
ただし、OPコマンドは@commandの代わりに@bypassを使用することで実行が可能となります。
埋め込む際は、OP権限を持っている必要があることに注意しましょう。
その他オプション
ScriptBlockには、下記のように様々なオプションが用意されています。
コマンド | 効果 |
---|---|
@say [text] | コマンド実行者が[text]を発言します |
@player [text] | コマンド実行者にのみ[text]を表示します |
$cost:[cost] | [cost]分のお金を消費します ※iConomyなどのお金の概念プラグイン必須 |
$item:[itemId] | [itemId]のアイテムを消費します |
@group:[group] | [group]に所属している人のみ使用可能にします |
@cooldown:[time] | [time]分間使用不可にします |
@delay:[time] | [time]秒間使用不可にします。 後続にコマンドを追加すると、x秒後に後続のコマンドを実行することができます。 |
@amount:[n] | [n]回使用後に自動削除します |
<player> | 実行したプレイヤー名を取得します |
使用例
【例1】コマンド実行者が「Good」と発言した後、自分の名前を発言するコマンドです。
/sbinteract create @say Good
/sbinteract add @say:<player>
【例2】お金を10消費して「Hi」と発言し、5分間は再実行不可能に設定するコマンドです。
/sbinteract create [&cost:10] [@say Hi!] [@cooldown:5]
まとめ
イベントでアイテム配布やギミック作成に使えそうですね!
とても便利なプラグインなので、いろいろ組み合わせて使ってみましょう!