前回の記事では、PermissionsExの基本の設定をしました。
今回は、ワールドごとの設定も含め、さらに設定をしていきたいと思います。
今回覚える内容
今回解説する内容は、以下の2つです。
継承
継承という機能を使用することにより、設定の記述量を減らすことができます。
また、設定の管理がしやすくなるというメリットもあります。
簡単に解説します。
たとえばBグループの権限は、Aグループの権限設定 + 新規権限という風にする場合。
継承機能を使用せずに設定を行うと、Bグループの権限設定の箇所にAグループの権限設定を含め長々と書く羽目になってしまいます。
しかし、継承機能を使用するとAグループの権限設定を書く手間がなくなり書くべき内容は、Bグループで新規に追加する権限のみになるで、設定ファイルの内容が見やすくなり書く手間を省くことができるようになります。
ワールドごとの設定
見てわかるとおり、ワールドごとに使用できるコマンドを設定することができます。
また、ワールドごとの設定でも継承機能を使用することができます。
継承についての注意点
継承機能を使う際に注意する点が1つあります。
それは、継承元のグループを上のほうに書くということです。
たとえば、AグループとBグループがあったとします。
AグループがBグループの権限設定を継承する場合、Aグループの設定はBグループの下に書く必要があります。
以下に記述例を示します。
継承される側 : Bグループ
継承する側 : Aグループ
groups:
BGroup: # 継承元のBを先(上)に書く
default: true
permissions:
- bukkit.command.kill
AGroup # 継承するAを後(下)に書く
default: false
permissions:
- bukkit.command.seed
users:
minecraftID01:
group:
- AGroup
minecraftID02:
group:
- BGroup
このように設定を継承するグループを下に、元となるグループを上に書くことを注意してください。
設定
それでは設定していきましょう。
上記の継承についての注意点で使用した設定をもとに説明します。
色のついた行を見てください。
groups:
BGroup:
default: true
permissions:
- bukkit.command.kill
AGroup:
default: false
inheritance:
- BGroup
permissions:
- bukkit.command.seed
users:
minecraftID01:
group:
- AGroup
minecraftID02:
group:
- BGroup
上記の色のついた行で、Bグループの権限設定を継承するという設定しています。
今回の場合、AGroupはBGroupを継承しているので、各グループに所属しているプレイヤーが使用できるコマンドは以下の表の通りになります。
グループ名 | 使えるコマンド |
---|---|
AGroup |
|
BGroup |
|
ワールドごとの設定
ワールドごとの設定を行うことにより、PvPワールドではこういう権限を・・・建築ワールドではこういう権限を使用できる・・・といったことができるようになります。
ワールドごとの設定の前に…
ワールドごとの設定をする前に一つ覚えておくべきことがあります。
まず、前回の記事の最初に説明したグループ定義の記述構造を思い出してみましょう。
1. グループ定義
2. 自動でそのグループに振り分けるか
3. 権限設定(使用できるコマンド設定)
4. ワールドごとの設定
今回解説するワールドごとの設定は、4番目になります。
ここでワールドごとの権限設定を行う場合、最終的に使用できるコマンドが少し変わってきます。
たとえば、3番目の権限設定でkillコマンドを使用できるようにし、4番目のワールドごとの設定でSigenワールドの権限設定でseedコマンドを使用できるようにしたとします。
その場合、Sigenワールドでは3番目の権限設定と4番目のワールド指定の権限設定で設定したkillコマンドとseedコマンドが使用できるということになります。
と、言葉で説明しましたがわかりにくいと思うので次の設定例を見ながら解説していきます。
設定
色がついている行を新規に追加してください。
groups:
AGroup:
default: false
permissions:
- bukkit.command.seed
worlds: # ワールドごとの設定をする宣言
world_nether: # world_netherというワールドの設定
permissions:
- bukkit.command.kick # kickコマンドの使用を許可
users:
minecraftID01:
group:
- AGroup
minecraftID02:
group:
- BGroup
上記の色がついた行のように記述して、ワールドごとの設定を行います。
今回の設定の場合、AGroupで使用できるコマンドは以下の表の通りになります。
ワールド | 使えるコマンド |
---|---|
全ワールド |
|
world_nether |
|
4番目の設定(6~9行目)のワールドごとの設定で、今回はworld_netherというワールドの権限を設定しています。
この場合、world_netherでは3番目(4~5行目)の権限設定と4番目(6~9行目)の権限設定が適用されるため、上記の表のような結果になっています。
ワールドごとの設定と継承
では、最後にワールドごとの設定と継承について解説します。
Permissionのファイルで継承設定をできる位置は、以下の2か所です。
groups:
BGroup:
default: true
permissions:
- bukkit.command.kill
worlds:
world_nether:
permissions:
- bukkit.command.ban.player
AGroup:
default: false
inheritance: # ①
- BGroup
permissions:
- bukkit.command.seed
worlds:
world_nether:
inheritance: # ②
- BGroup
permissions:
- bukkit.command.kick
users:
minecraftID01:
group:
- AGroup
minecraftID02:
group:
- BGroup
1つ目は、ワールドごとの設定の外。
2つ目は、ワールドごとの設定の中。
それぞれの位置によって継承設定が及ぶ範囲が異なるので、それについて解説します。
①の部分で設定した場合は、後述するワールドごとの設定で設定するワールドも含めすべてのワールドで設定権限が有効になります。
しかし②の部分で設定した場合は、そのワールドのみに継承設定が適用されるため、ほかのワールドでは権限が継承されません。
以下の表にまとめましたので、上の設定と照らし合わせてみましょう。
なお、AGroupの権限内容表です。
①の部分で継承設定をした場合
ワールド | 使えるコマンド |
---|---|
全体 |
|
world_nether |
|
②の部分で継承設定をした場合
ワールド | 使えるコマンド |
---|---|
全体 |
|
world_nether |
|
このように、①の場合は存在しているワールドすべてに継承した権限設定が適用。
②の場合は指定したワールドのみで継承した権限設定が適用されます。
最後に
これにてPermissionsExの解説は終了です。
少し難しいと感じたかもしれませんが、設定しながら動作テストすると頭に入りやすいかもしれません。
このプラグインにはRankという機能もありますが、これについては今回解説は行いません。
しっかり設定して、よりよいサーバ管理をしましょう。
Nice
Thank you.
すみません・・・ multiverse-Portalsのパーミッション設定で、OP権限がない人でもゲートをくぐれるようにしたいのですが、
まだ、Permissionは勉強中で、書き方がわかりません。すみませんが、permissyons.ymlが真っ白な状態に、そのままコピーしたいので、1から、multiverse-Portalsのゲートをくぐれるようにするパーミッションを書いていただけないでしょうか?
こんにちは。Permissionの設定は最初は難しいとは思いますが、構造はとても単純なので頑張ってください!
さて、OP権限なしでゲートをくぐれるようにする権限を探したところ
上記の二つをPermissionに設定すればよいとのことです。
上記の設定で問題なく動作すると思います。
ありがとうございます^^
なんとか大体、ぱーみっよんの書き方はマスターしました!!
本当にありがとうございました!!
ホントに助かりました。wikiで一生懸命勉強しましたw