ResurrectionChest設定と権限
権限
| 権限 | 用途 | デフォルト |
|---|---|---|
resurrectionchest.* | 管理者にsetup、content、update、reload、clearコマンドへのアクセスを付与 | op |
resurrectionchest.setup | 管理者に/resurrectionchest setup、recommendedplugins、downloadallcontent、updatecontentへのアクセスを付与 | op |
resurrectionchest.initialize | /resurrectionchest initializeで初期設定メニューを開く権限です。 | op |
resurrectionchest.use | プレイヤーがチェストを登録し、死亡ドロップをそこにルーティングできるようにする | true |
resurrectionchest.model.free | プレイヤーが無料のFreeMinecraftModelsチェストビジュアル(Wooden Chest)を使用できるようにする | true |
resurrectionchest.model.premium | プレイヤーがプレミアムのFreeMinecraftModelsチェストビジュアル(Angelic Chest)を使用できるようにする | op |
resurrectionchest.useは実際のチェスト動作にとって重要な権限です。管理者権限とモデル権限は、それぞれコマンドとオプションのビジュアルにのみ影響します。
コマンド
| コマンド | 権限 | 用途 |
|---|---|---|
/resurrectionchest | resurrectionchest.* | セットアップフローを案内する簡単な情報メッセージを出力 |
/resurrectionchest setup | resurrectionchest.setup | セットアップメニューを開く(チェストパックの閲覧と切り替え、プラグインアップデートの確認、推奨プラグインの表示、自動アップデートの切り替え) |
/resurrectionchest recommendedplugins | resurrectionchest.setup | ResurrectionChestの推奨コンパニオンプラグインを開く(コンソールの場合は一覧表示) |
/resurrectionchest downloadall | resurrectionchest.* | プラグインアップデート(ある場合)と、Nightbreakから利用可能なすべてのコンテンツパックをダウンロード |
/resurrectionchest downloadallcontent | resurrectionchest.setup | Nightbreakから利用可能なすべてのコンテンツパックをダウンロード |
/resurrectionchest updatecontent(エイリアス updateallcontent) | resurrectionchest.setup | 古くなったインストール済みコンテンツパックのみを再ダウンロード |
/resurrectionchest forcereinstallcontent <package|all> | resurrectionchest.* | インストール済みバージョンがすでに最新であっても、コンテンツパック(またはダウンロード済みのすべてのパック)を再ダウンロード。パッケージ名は Nightbreak のスラッグ wooden-chest、angelic-chest と all にタブ補完されます |
/resurrectionchest downloadpluginupdate | resurrectionchest.* | 利用可能な場合、ResurrectionChestのプラグインアップデートをダウンロード |
/resurrectionchest reload | resurrectionchest.* | ResurrectionChestをリロード |
/resurrectionchest clear | resurrectionchest.* | 追跡中のすべてのResurrectionChestブロックをクリア。追跡中の各チェストのインベントリをドロップし、チェストと看板のブロックを削除 |
ダウンロードされたプラグインアップデートはサーバーのupdateフォルダに配置され、次回のサーバー再起動後にのみ有効になります。
プラグインファイル
| パス | 用途 |
|---|---|
plugins/ResurrectionChest/config.yml | 下の表にあるすべての設定 |
plugins/ResurrectionChest/playerData.yml | 登録済みチェストごとに1エントリ、プレイヤーUUIDをキーとして保存されます: チェストのlocation、チェスト登録時に選ばれたchestModelプレフィックス、そして古い登録を現在のブロック所有権タグへ移行するために使われるtrackedBlockSchemaVersion |
plugins/ResurrectionChest/content_packages/ | wooden_chest.yml / angelic_chest.yml のコンテンツパック定義(名前、説明、ダウンロードリンク、バージョン、isEnabled、category) |
plugins/ResurrectionChest/nightbreak-changelogs.yml | /resurrectionchestchangelogの背後にある共有チェンジログ受信箱の既読・非表示状態。チェンジログ通知を参照 |
plugins/ResurrectionChest/imports/ | 手動インポート用のドロップフォルダ。ここに置かれたものは起動時に展開され、モデルファイルはFreeMinecraftModelsへ振り分けられ、FreeMinecraftModelsが自動的に更新されます。手動インポートとゲーム内管理を参照 |
サーバーの稼働中にplayerData.ymlを手動で編集しないでください。ResurrectionChestは、チェストが登録または削除されるたびにこのファイルを書き換えます。
設定項目
config.ymlは現在、以下のユーザー向け設定を公開しています:
| 設定キー | 型 | デフォルト |
|---|---|---|
setupDone | boolean | false |
nightbreak.autoDownloadPluginUpdates | boolean | false |
Input name for death chest | string | [DeathChest] |
Enable high compatibility / low security mode for plugin conflicts | boolean | false |
Lower worn armor's durability on death | boolean | true |
Amount of durability to lower on death | int | 100 |
Chest creation message | string | &8[ResurrectionChest] &aYou've created your Death Chest! |
Chest destruction message | string | &8[ResurrectionChest] &cYour Death Chest has been destroyed! |
Chest missing message | string | &8[ResurrectionChest] &4Your Death Chest is missing! |
Chest protected region message | string | &8[ResurrectionChest] &cYou can't create a Death Chest here - this area is protected! |
Death message | string | &8[ResurrectionChest] &aYour items have been moved to your Death Chest! |
deathChestRemovedMessage | string | &8[ResurrectionChest] &cYour Death Chest has been removed! |
Enable particle effects for death chests | boolean | true |
Particle effect 1 | string | ENCHANTMENT_TABLE |
Particle effect 2 | string | ENCHANTMENT_TABLE |
Particle effect 3 | string | PORTAL |
blacklistedWorlds | list | [none] |
storeXP | boolean | true |
xpPercentageKept | double | 0.75 |
deathChestNameTag | string | $playerName's &fResurrection Chest |
freeSingleDeathChestModelName | string | resurrectionchest_free_single |
freeDoubleDeathChestModelName | string | resurrectionchest_free_double |
premiumSingleDeathChestModelName | string | resurrectionchest_angelic_single |
premiumDoubleDeathChestModelName | string | resurrectionchest_angelic_double |
自動プラグインおよびコンテンツアップデート
nightbreak.autoDownloadPluginUpdatesは、ResurrectionChestに同梱されているNightbreak/MagmaCore共通の設定です。デフォルトはfalseです。
false(デフォルト)の場合、何も自動的にダウンロードされません。ResurrectionChestは起動時(およびおよそ1時間に1回)プラグインアップデートを確認し、ゲーム内のアップデートボタンに結果を表示できるようにしますが、実際のダウンロードは自分でトリガーします。trueの場合、ResurrectionChestは起動時に利用可能なプラグインアップデートと古くなったコンテンツパックをダウンロードします。ダウンロードされたプラグインおよびコンテンツアップデートは、サーバーの再起動後にのみ使用されます。- 自動プラグインダウンロードには、有効なNightbreakアカウントトークンとアクティブなサポーターメンバーシップが必要です。
この設定は、/resurrectionchest setup内のツールバーのAutomatic Updatesトグルからゲーム内で切り替えるか、config.ymlを直接編集できます。
セットアップメニューには、Plugin Updateエントリ(インストール済み/利用可能なバージョンを表示し、クリックでアップデートをダウンロード)と、Recommended Pluginsエントリ(/resurrectionchest recommendedpluginsと同じリスト)も用意されています。
リージョン保護
デスチェストの登録は建築行為として扱われます。看板が受け入れられる前に、ResurrectionChestはMagmaCore共通のLocationQueryRegistryに、そのチェストブロックの位置でプレイヤーが建築してよいかを問い合わせます。
- WorldGuardとGriefPreventionは自動的にラップされます。どちらもインストールされていない場合は追加の制限はなく、登録はこれまでと同じ挙動になります。
- 保護プラグインが建築を拒否した場合、登録は拒否され、プレイヤーには
Chest protected region messageが送られます。 - 保護アダプタがエラーをスローした場合、クエリはフェイルクローズ(登録を拒否)となり、保護を暗黙にバイパスすることはありません。
アダプタは起動時にアタッチされるため、アタッチの失敗は最初のチェスト登録時ではなく起動ログに現れます。
防具の耐久度ペナルティ
Lower worn armor's durability on death(デフォルトtrue)とAmount of durability to lower on death(デフォルト100)は、プレイヤーが着用していた防具がデスチェストへルーティングされる際に適用されます:
- 死亡ドロップに含まれる着用中の各防具に、
Amount of durability to lower on deathがダメージ値として加算されます - それによって最大耐久度に達する、または超える場合、その防具はドロップから完全に取り除かれます(保管されずに破壊されます)
- そうでない場合は、ダメージを受けた防具がチェストに入ります
このペナルティが実行されるのは、ResurrectionChestが実際に処理する死亡時のみです。keepInventoryが有効な場合、ワールドがブラックリストに入っている場合、プレイヤーがresurrectionchest.useを持たない場合、登録されたチェストが見つからない場合はスキップされます。
高互換モード
Enable high compatibility / low security mode for plugin conflictsの既定値はfalseです。この場合、登録済みの看板やチェストには正しい所有者タグが必要です。
trueでは登録場所のタグ欠落を許容します。ただし、別の所有者を示すタグは拒否され、チェストは引き続きチェストブロックでなければなりません。タグを削除するプラグイン向けの設定であり、任意の置換ブロックを許可するものではありません。
XP処理
storeXPが有効な場合:
- ResurrectionChestはプレイ中のプレイヤーの合計XPを追跡しますが、死亡した瞬間のプレイヤーの実際の合計値を読み取るため、他のプラグインのAPIから直接付与されたXPも計上されます
- 死亡時に
合計XP * xpPercentageKeptを保存します - ドロップされたXPを
0に設定します - 所有者が次に登録されたチェストを開いたときに保存されたXPを返却します(ダブルチェストのどちら側でも構いません)
- 回収前に再度死亡した場合、保存量は置き換えられるのではなく加算されます
xpPercentageKeptは設定の読み込み時に0〜1の範囲へクランプされるため、1を超える値は1として、負値や無効な値は0として扱われます。
重要な例外:
keepInventoryがアクティブな場合、ResurrectionChestは何も行いません。keepLevelがアクティブな場合、XP保存の分岐はスキップされ、バニラのレベル処理はそのままになります。- 保存されたXPはメモリ上にのみ保持されます。
playerData.ymlには書き込まれないため、サーバーの再起動、/resurrectionchest reload、プラグインのリロードを行うと、まだ回収されていないXPは失われます。すでにチェストの中にあるアイテムは影響を受けません。
オーバーフロー処理
アイテムは1スタックずつチェストに挿入され、部分的な挿入も許可されます:
- 入る分は保管されます。既存のスタックへの上乗せも含みます
- 入りきらなかった残量だけが、死亡地点の通常の死亡ドロップリストに残ります
- プレイヤーはチェストが満杯であった警告を受け取ります
FreeMinecraftModels連携
FreeMinecraftModelsがインストールされている場合、ResurrectionChestは実際のチェストの上に視覚的なチェストのプロップをスポーンできます。
現在の動作:
- プレイヤーが
resurrectionchest.model.premiumを持っており、かつプレミアムモデルが実際にロードされている場合、プレミアムビジュアル(Angelic Chest)が優先されます - それ以外の場合、プレイヤーが
resurrectionchest.model.freeを持っていれば無料ビジュアル(Wooden Chest)が使用されます - どちらの権限も使用可能なモデルを付与しない場合、プロップはスポーンされず、バニラのチェストがそのまま使用されます
- 視覚モデルはチェストのサイズに基づいてシングルとダブルのバリエーション間で切り替わります
- 実際のチェストは依然としてストレージのバックエンドです
カスタムモデルのプロップがアクティブな場合、プレイヤーはそれと直接対話できます:
- プロップを右クリックして、基礎となるチェストのインベントリを開く
- プロップを左クリックして登録を破棄する(所有者のみが行えます。所有者以外が左クリックすると赤いメッセージが表示され、何も破壊されません)
FreeMinecraftModelsが存在しない、またはモデルをスポーンできない場合でも、基礎となるチェストは通常通り機能します。
コンテンツパック
ResurrectionChestには、FreeMinecraftModelsのチェストモデルをラップする2つのコンテンツパックが付属しています:
- Wooden Chest(無料):
resurrectionchest_free_single/resurrectionchest_free_doubleを提供します。resurrectionchest.model.freeで使用されます。 - Angelic Chest(プレミアム):
resurrectionchest_angelic_single/resurrectionchest_angelic_doubleを提供します。resurrectionchest.model.premiumで使用されます。
各パックは、インストール時はFreeMinecraftModelsのmodelsフォルダ下に、アンインストール時はmodels_disabled下に配置されます。/resurrectionchest setupを通じてそれらを切り替えると、ファイルがこれらのフォルダ間を移動し、FreeMinecraftModelsが自動的にリロードされます。
ソースに基づく注意点
現在のソースには、config.ymlで公開されているがDefaultConfig以外のどこからも参照されていないいくつかの設定エントリがあります:
Particle effect 1Particle effect 2freeSingleDeathChestModelNamefreeDoubleDeathChestModelNameとpremiumDoubleDeathChestModelName(プラグインは内部でモデル名のプレフィックスresurrectionchest_freeとresurrectionchest_angelicをハードコードしており、チェストのサイズに基づいて_singleまたは_doubleを追加するため、"Double"の設定キーは現在チェストのビジュアルに影響しません)
対照的に、Particle effect 3は、現在のコードに明らかな実稼働の用途があるパーティクル設定です。読み込み時に一度だけ解決され(名前が有効なパーティクルでない場合は、コンソール警告とともにPORTALにフォールバックします)、その後はチェストのチャンクがロードされている間、ティックごとにスポーンされます。Enable particle effects for death chestsをfalseにすると、このティックごとのタスク自体がキャンセルされます。登録済みチェストが多いサーバーではこれが最も負荷の軽い選択肢です。premiumSingleDeathChestModelNameは、プレミアムプレフィックスを割り当てる前にプレミアムモデルファイルが存在することを確認するために使用されます。無料モデルファイルの存在は個別にチェックされません。
コマンド面での注意点がさらに2つあります:
/resurrectionchest initializeは初期設定を開き、resurrectionchest.initializeが必要です。/resurrectionchest setupはコンテンツ、更新、推奨プラグインの操作画面を開きます。/resurrectionchest clearは1人のプレイヤーに限定されません。サーバー上のすべての登録済みチェストを一度に消去します。