Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 4.04 KB

README.md

File metadata and controls

49 lines (35 loc) · 4.04 KB

MoreFlags

Okocraft独自の様々なWorldGuardフラグを追加するプラグイン。WorldGuardExtraFlagsでも実装されていないような細々としたフラグを追加するために開発された。

OkocraftがハードフォークしたWorldGuardに依存する。また、ProtocolLibがあると、xxx-death-message 系のフラグの副作用が減る。

導入

バージョン 1.19 以上のSpigotまたはPaperサーバーを用意する。それより古いminecraftバージョンでも動くかもしれないが保証しない。

  1. Okocraft版のWorldGuardをビルドしてインストールする。
  2. 本プラグインをビルドしてインストールする。
  3. ProtocolLibをインストールする。(オプション)

ビルドする際は、本レポジトリをクローンしてコンソールから \.gradlew.bat build または ./gradlew.sh build を実行すれば、build/libs フォルダにjarファイルが生成される。

フラグ

フラグ一覧。

ビルドフラグ的な挙動をするフラグ

ビルドフラグは

  • passthroughを許可していないかつ保護主が存在する保護内では非メンバーに対して自動的に禁止される
  • 保護外では自動的に許可される

という挙動をするフラグである。つまり、保護内では勝手にフラグの保護が提供される。例えば villager-trade なら、保護さえしてしまえば非保護メンバーは保護内の村人と取引できない。

そういった挙動をするのが以下のフラグである。

  • villager-trade stateフラグ。保護内にいる村人取引が可能かどうかを制御する
  • damage-named-entity stateフラグ。保護内にいる名前をつけたエンティティを攻撃できるかを制御する
  • vehicle-entry stateフラグ。保護内に乗り物に乗った状態で侵入できるかどうかを制御する

上記以外の挙動をするフラグ

保護内外で挙動が変わらず、禁止すれば禁止されるし許可すれば許可されるフラグ。保護しても、自主的にフラグを設定しなければ意味のないフラグである。

  • passthrough-outside-beacon stateフラグ。保護外にあるビーコンの効果を保護内にいるプレイヤーに及ぼすかどうかを制御する
  • passthrough-inside-beacon stateフラグ。保護内にあるビーコンの効果を保護外にいるプレイヤーに及ぼすかどうかを制御する
  • send-death-message stateフラグ。保護内で死亡したとき死亡ログを送信するかどうかを制御する
  • receive-death-message stateフラグ。保護内にいるとき死亡ログを受信するかどうかを制御する
  • isolate-death-message stateフラグ。保護内で死亡したときは保護外に死亡ログを送信するかどうかかつ、保護外で死亡したときは保護内に死亡ログを送信するかどうかを制御する
  • raid stateフラグ。保護内に襲撃の中心地点がある場合、襲撃の発生、敵の出現、報酬の付与を制御する
  • egg-spawn-chick stateフラグ。保護内に着弾した卵からひよこが生まれるかどうかを制御する もともと生まれない卵からひよこが生まれるようになることはなく、あくまで生まれるのが確定している場合に、それをキャンセルするかどうかを制御する

死亡ログ系フラグの副作用

xxx-death-message のフラグの死亡ログをフィルタリングする際、死亡ログを一度削除してシステムメッセージとして再送信するという実装である。そのため

  • 死亡ログを変更および隠蔽するプラグインの挙動を壊すことがある
  • デススクリーンに表示される死亡ログが消える

という副作用がある。

ProtocolLibをインストールしておくとプレイヤーのチャット欄に表示するメッセージを直接的にキャンセルして、上記副作用を無視できる。