Skip to content

[JP] Plugin Tutorial

ゆっちゃん edited this page Dec 31, 2021 · 95 revisions

ここでは主に、説明が必要な機能について解説しています。

スクリプトの実行

概要

APIコマンドで実行することもできますが、基本的にはスクリプトキーの条件を元に実行されます。
(例えば"interact"で設定されているスクリプトを実行する場合は、対象のブロックに対してクリックを行う必要があります。)

スクリプトキー 説明
interact 対象のブロックをクリックした時
break 対象のブロックを破壊した時
walk 対象のブロックの上を歩いた時
hit 対象のブロックに発射物を当てた時

レッドストーンの動力で実行

レッドストーンの動力でスクリプトを実行する設定を有効にしている場合のみ実行可能です。
設定されているセレクターとフィルターを元に周囲のプレイヤーの検索を行います。
(例えば"@p"が設定されている場合は、最も近いプレイヤー一人を検索してスクリプトを実行させることが出来ます。)

オプションの結果の反転

オプションの頭文字に ! を追加することで、結果を反転させる事ができます。
(例えば"[!$item:stone 1] [@command heal]"を実行した場合は、石を持っていない場合のみコマンドを実行することができます。)

セレクター

プレースホルダ 説明
<world> ワールド名と置き換えます。
<online> サーバーに存在するプレイヤーの数と置き換えます。
<players> ワールドに存在するプレイヤーの数と置き換えます。

記述

こちらのサイトを参照してください。

リピート

引数 説明
tick=tick リピートの間隔を設定します。
tickには整数を記述してください。
delay=tick リピート開始までの時間を設定します。
tickには整数を記述してください。
limit=number 実行回数を制限します。
numberには整数を記述してください。

記述

リピートを使用することで、スクリプトを繰り返し実行することができます。
基本的にはrepeat{引数=値}といった形で記述していきます。
またrepeat{引数=値,引数=値}とすることで複数指定することも可能です。
(例えば"repeat{tick=20} @p"が設定されている場合は、最も近いプレイヤー一人を対象に、1秒毎にスクリプトを実行します。)

フィルター

引数 説明
op=has OPの所持、不所持を判定します。
hasにはtrueまたはfalseを記述してください。
trueOPを所持しているプレイヤーが対象です。
falseOPを所持していないプレイヤーが対象です。
perm=node 指定したパーミッションが許可されているのか判定します。
nodeにはパーミッションノードを記述してください。
limit=number 実行回数を制限します。
numberには整数を記述してください。

記述

フィルターを使用することで、セレクターの結果を限定することができます。
基本的にはfilter{引数=値}といった形で記述していきます。
またfilter{引数=値,引数=値}とすることで複数指定することも可能です。
(例えば"filter{op=true,limit=1} @a[sort=nearest]"が設定されている場合は、OP持ちの最も近いプレイヤー一人を対象にします。)

コマンド

引数

引数名 説明
<scriptkey> スクリプトキーを参照
<options> オプションを参照
<world> ワールドの名前
<x> <y> <z> X座標、Y座標、Z座標
[pasteonair] 空気ブロックにペーストするのかどうか(true / false)
[player] プレイヤーネーム
[nametag] ネームタグ
[repeat] リピートを参照
[filter] フィルターを参照
[selector] セレクターを参照
[overwrite] スクリプトを上書きするのかどうか(true / false)

スクリプトの実行

コマンド 説明
/sbp <scriptkey> run [player] <world> <x> <y> <z> 指定した座標のスクリプトを実行します。

スクリプトの編集、表示

コマンドを実行した後に任意のブロックを対象に右クリックを行ってください。
オプションを指定する際は、括弧([...])で囲むことで複数指定することが可能です。
(例: [@player &aHEAL!!] [@bypass /heal])

コマンド 説明
/sbp <scriptkey> create <options> スクリプトを作成します。
以前の設定を削除し、上書きする形で作成を行います。
/sbp <scriptkey> add <options> スクリプトを追加します。
設定をそのままに、指定したオプションのみ追加します。
/sbp <scriptkey> remove スクリプトを削除します。
クールタイム等を含めた全ての設定を削除します。
/sbp <scriptkey> view スクリプトの設定を表示します。

スクリプトにネームタグを設定する

コマンドを実行した後に任意のブロックを対象に右クリックを行ってください。
/sbp <scriptkey> nametagを保存した場合は、設定を削除します。

コマンド 説明
/sbp <scriptkey> nametag [nametag] スクリプトにネームタグ(検索用)を設定します。

スクリプトをレッドストーンの動力で実行できるようにする

コマンドを実行した後に任意のブロックを対象に右クリックを行ってください。
/sbp <scriptkey> redstoneを保存した場合は、設定を削除します。

コマンド 説明
/sbp <scriptkey> redstone [repeat] [filter] [selector] スクリプトが動力で動作するか設定します。

選択した範囲内にスクリプトをペースト

最初に、任意のブロックを対象にScript Editorを使用してコピーを行ってください。
その後Block Selectorで範囲選択を行い、ペーストを行うコマンドを実行してください。

コマンド 説明
/sbp selector paste [pasteonair] [overwrite] 選択範囲にスクリプトをペーストします。

選択した範囲内のスクリプトの削除

Block Selectorで範囲選択を行い、削除を行うコマンドを実行してください。

コマンド 説明
/sbp selector remove 選択範囲のスクリプトを削除します。

補助ツール

ツールの取得

コマンド 説明
/sbp tool 実行者に補助ツールを配布します。

Script Editor

このツールは、スクリプトの編集をサポートします。
選択した範囲内にスクリプトをペーストしたい場合は、Script Editorでコピーを行ってから実行してください。

Script Viewer

このツールは、スクリプトのチェックをサポートします。

NMS 説明
存在する場合 プレイヤーを中心とした周囲15m以内のスクリプトを検索します。
空気ブロックそれ以外のブロックに発光して表示されます。
発光していないブロックを検索して表示するため、負荷はそれほど掛かりません。
存在しない場合 プレイヤーを中心とした周囲10m以内のスクリプトを検索します。
空気ブロック水色それ以外のブロック黄緑のパーティクルが発生します。
0.5秒毎に、大量のパーティクルを送信しているためそれなりに負荷が掛かります。

Script Manager

このツールは、スクリプトの管理をサポートします。
== テキスト入力ウィンドウの説明 ==
左のアイテムでテキストのリセットを、右のアイテムで入力を終了することができます。
また、編集元のテキストが金床で編集可能な文字数の上限を越えていた場合は、警告が表示されます。

== 検索ウィンドウの説明 ==

アイテム名(デフォルト) 説明
スクリプトの指定 テキスト入力ウィンドウを開きます。
検索ワードScript
(例)@player HelloWorldで、指定したスクリプトを検索します。
時間の指定 テキスト入力ウィンドウを開きます。
検索ワードyyyy/MM/dd yyyy/MM/dd~yyyy/MM/dd
(例)2021/10/01で、指定した日付のスクリプトを検索します。
(例)2021/10/01~2021/10/31で、指定した日付間のスクリプトを検索します。
座標の指定 テキスト入力ウィンドウを開きます。
検索ワードworld world:... x,y,z x,y,z~x,y,z
(例)worldで、指定したワールド名のスクリプトを検索します。
(例)world:(座標)で、指定したワールドと座標のスクリプトを検索します。
(例)10,10,10で、指定した座標のスクリプトを検索します。
(例)10,10,10~20,20,20で、指定した座標間のスクリプトを検索します。
ネームタグの指定 テキスト入力ウィンドウを開きます。
検索ワードNameTag
(例)Exampleで、指定したネームタグのスクリプトを検索します。
スクリプトキー 検索を行うスクリプトキーを切り替えます。
次のページ 検索したスクリプトのページを切り替えます。
前のページ 検索したスクリプトのページを切り替えます。
リセット 表示されている情報をリセットします。
スクリプト 設定ウィンドウを開きます。

== 設定ウィンドウの説明 ==

アイテム名(デフォルト) 説明
ターゲットセレクターの編集 テキスト入力ウィンドウを開きます。
スクリプトの編集 テキスト入力ウィンドウを開きます。
左クリックで編集対象の変更、右クリックでスクリプトの編集を行います。
ネームタグの編集 テキスト入力ウィンドウを開きます。
移動 スクリプトの座標にテレポートします。
実行 スクリプトを実行します。
情報 スクリプトの情報を表示します。
クリックで情報を更新します。
コピー スクリプトをコピーします。
再度クリックを行うことで、コピーをキャンセルします。
ペースト スクリプトをペーストします。

Block Selector

このツールは、範囲選択をサポートします。

コンフィグ

SortScripts

SortScriptsを有効にしている場合は、 登録されているオプションの順にソートしていきます。
最適な順番で、オプションのソートを行ってくれる便利な機能です。

------------------------------------
|   config.yml/SortScripts: true   |
------------------------------------
[@command /heal][@actionbar:メッセージ][@delay:100] --実行--> [@delay:100][@actionbar:メッセージ][@command /heal] 

-------------------------------------
|   config.yml/SortScripts: false   |
-------------------------------------
[@command /heal][@actionbar:メッセージ][@delay:100] --実行--> 変化無し

OptionPermission

OptionPermissionを有効にしている場合は、 オプションの実行に権限が要求されます。
要求される権限: scriptblockplus.option.<optionid>

引数 説明
<optionid> オプションの一覧のIDを参照してください。