ChestSafeの使い方と設定
このページではChestSafeの使い方、導入方法、コマンド、パーミッション、設定などを解説します。
プラグイン名 | Jecon |
---|---|
開発者 | HimaJyun |
配布場所 | GitHub |
ライセンス | Apache License 2.0 |
ソースコード | GitHub(HimaJyun/ChestSafe) |
執筆時バージョン | 1.2.1 (Spigot 1.17) |
備考 | 当サイト管理人作 |
スポンサーリンク
目次
ChestSafeとは
ChestSafeはチェストやシュルカーボックスを保護するプラグインです。
SQLiteに対応しているため簡単に使えるのはもちろんのこと、MySQLにも対応しているためサーバーの規模に合わせた選択が可能です。
設定さえすればあらゆるブロックを保護対象にできる(新種のブロックに対応しやすい)という特徴もあります。
使い方
対象のブロックを置くだけで保護されるため、普段は意識せずに使えます(もちろん自動で保護しない設定も可能)
自分以外の人がチェストなどを使えるようにするメンバー機能、ホッパーなどを使えるようにするフラグ機能などもあります。
これらの保護設定を変更するには/chestsafe
コマンドを利用します。
各種コマンドは実行してから、操作を適用したいブロックをクリックします。/chestsafe persist
でいちいちコマンドを実行せずとも連続で操作を適用できます。
導入方法
ChestSafeには前提プラグインなどは必要ありません。
GitHubからプラグインをダウンロードして設定を行ってください。
また、ChestSafe-Converterを使用することでLWCから保護を移行することも可能です。
コマンド
< >は必須、[ ]はオプションの引数です。
コマンド | パーミッション | 説明 |
---|---|---|
/chestsafe private [プレイヤー名 ...] | chestsafe.create.private | プライベート保護を作成。プレイヤーを指定するとメンバーに追加 |
/chestsafe public | chestsafe.create.public | パブリック保護を作成 |
/chestsafe flag <フラグ名> [true/false] | chestsafe.flag.* | フラグを設定。値が未指定だと現在値を反転 |
/chestsafe remove | chestsafe.remove | 保護を削除 |
/chestsafe info | chestsafe.info | 保護情報を表示 |
/chestsafe member <add/remove/modify> [値 ...] | chestsafe.member | 保護メンバーを編集 addは指定したプレイヤーを保護に追加、removeは削除 modifyは一括指定、プレイヤー名の前にハイフン(-)を付けると削除、付けなければ追加 |
/chestsafe transfer <新しいオーナー> | chestsafe.transfer | 保護を譲渡 |
/chestsafe persist [true/false] | chestsafe.persist | 連続設定モードを切り替え。値が未指定だと現在値を反転 |
/chestsafe cleanup [cancel/速度] | chestsafe.cleanup | ブロックが存在しない保護を削除 速度には1秒にチェックする保護数を数値で指定 |
/chestsafe reload | chestsafe.reload | 設定をリロード |
/chestsafe version | chestsafe.version | 現在のバージョンを表示して新しいバージョンを確認 |
/chestsafe help [コマンド] | なし | 使い方を表示。コマンドを指定すると詳細表示 |
フラグ
設定可能なフラグは/chestsafe help flag
で確認できます。例として次のようなものがあります。
フラグ | パーミッション | 説明 |
---|---|---|
hopper | chestsafe.flag.hopper | ホッパーが使用可能になる |
explosion | chestsafe.flag.explosion | 爆発で破壊されるようになる |
fire | chestsafe.flag.fire | 炎で消失するようになる |
redstone | chestsafe.flag.redstone | レッドストーンに反応するようになる |
mob | chestsafe.flag.mob | MOBが破壊できるようになる |
エイリアス
古いプラグインなど使っているユーザーが違和感なく移行できるようにするため、エイリアス機能が搭載されています。
コマンド | 実際に動作するコマンド |
---|---|
/c | /chestsafe |
/lock | /chestsafe private |
/unlock | /chestsafe remove |
/cprivate | /chestsafe private |
/cpublic | /chestsafe public |
/cremove | /chestsafe remove |
/cinfo | /chestsafe info |
/cmodify | /chestsafe member modify |
/cpersist | /chestsafe persist |
/chopper | /chestsafe flag hopper |
/callowexplosions | /chestsafe flag explosion |
/ctnt | /chestsafe flag explosion |
/cfire | /chestsafe flag fire |
/credstone | /chestsafe flag redstone |
/cmob | /chestsafe flag mob |
パーミッション
コマンド以外のパーミッションには主に以下のような物があります。
パーミッション | 説明 |
---|---|
chestsafe.* | すべてのパーミッションの一括設定 |
chestsafe.create.* | 保護作成パーミッションの一括設定 |
chestsafe.flag.* | 各種フラグ用パーミッションの一括設定 |
chestsafe.op | 管理者向けパーミッションの一括設定 |
chestsafe.user | ユーザー向けパーミッションの一括設定 |
chestsafe.notice | ブロックをクリックした際に保護の情報を自動で表示 |
chestsafe.passthrough | 自分以外の保護が操作できる |
設定
ChestSafeには動作に関する設定を行うconfig.yml
があります。その他メッセージの設定はlocale/<言語>.yml
にあります。
config.yml
コメントを参考に設定してください。
# ブロックをクリックした際に表示される保護情報をアクションバーに表示するか?
actionBar: true
# 新しいバージョンを自動でチェックするか?
versionCheck: true
# 保護されたブロックにホッパーでアイテムを転送した際にホッパーを破壊するか?
# trueにする事により動作しないホッパーの処理を減らし負荷を低減する
# 注意: default.flag.hopperのデフォルト値をtrueからfalseに変更すると世界中のホッパーが壊れることになるでしょう。
hopperDestroy: true
default:
auto: false
flag:
mob: false
fire: false
hopper: false
redstone: false
explosion: false
# https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
protectable:
CHEST:
auto: private
TRAPPED_CHEST:
auto: private
BARREL:
auto: private
FURNACE: { } # 保護対象として追加し、デフォルト値を継承するためには空のオブジェクトを指定する必要がある。
_SHULKER_BOX:
auto: false
#_DOOR:
# auto: public
# flag:
# redstone: true
cleanup:
# 存在しない保護を削除するための自動クリーンアップを有効にするか。
enable: false
# 起動からの待ち時間。0にすると即座に実行
delay: 60 # seconds
# クリーンアップの周期。0にすると定期実行を無効化
interval: 86400 # seconds
# 1秒につきどれくらいの時間を存在チェックに使うか?
# 値を大きくすると処理が速くなり、小さくすると処理中の負荷が軽くなる
limit: 50 # ミリ秒
# trueの場合はアンロードされた世界もチェック対象に含める。
# これはすなわちロードされていない世界の保護が全て削除されることを意味するので、よく理解してから変更すること
unloaded: false
# 多言語サポート
locale:
enable: true
default: "en_us"
database:
# データベースの種類 (sqlite/mysql)
type: sqlite
sqlite:
file: "chestsafe.db"
mysql:
host: "localhost:3306"
name: "chestsafe"
username: "root"
password: "your_mysql_password"
# MySQLのクエリキャッシュを無効化する事を推奨
# プラグインにキャッシュ機能が備わっているためクエリキャッシュはメモリの無駄になる。
#init: "SET SESSION query_cache_type=0"
init: "/* ChestSafe */SELECT 1"
# JDBCのプロパティ、良く分からないなら触らないこと
properties:
"useSSL": "false"
#"allowPublicKeyRetrieval": "true" # for MySQL 8
# encoding
#"useUnicode": "true"
#"characterEncoding": "UTF-8"
#"characterSetResults": "UTF-8"
# performance
"maintainTimeStats": "false"
"elideSetAutoCommits": "true"
"useLocalSessionState": "true"
"alwaysSendSetIsolation": "false"
"cacheServerConfiguration": "true"
"cachePrepStmts": "true"
"prepStmtCacheSize": "250"
"prepStmtCacheSqlLimit": "2048"
#"useServerPrepStmts": "true"
# コネクションプーリングの設定、良く分からないなら触らないこと
connectionPool:
# -1はデフォルト設定を使用
maximumPoolSize: -1
minimumIdle: -1
maxLifetime: -1
connectionTimeout: -1
idleTimeout: -1
# キャッシュの設定
cache:
# +n == 指定した数のLRUキャッシュを使用(メモリ節約)
# -1 == 無限にキャッシュする(高速)
# 0 == キャッシュを無効化(テスト用、詳しい人向け)
id: -1
# `location`は「保護が存在しない」を意味するためのネガティブキャッシュが含まれる
# そのため、`protection`よりも大きな値を設定することを推奨
location: 30000
protection: 10000
# サワルナァ
version: 2