Skip to content

fix: バイパス権限を持つプレイヤーの死亡メッセージ用メタデータを実際の所有者で削除する - #49

Merged
Siroshun09 merged 1 commit into
masterfrom
fix/death-message-metadata-owner
Oct 24, 2026
Merged

Siroshun09 merged 1 commit into
masterfrom
fix/death-message-metadata-owner

Conversation

@Siroshun09

Copy link
Copy Markdown
Member

背景

ToggleDeathMessage(TDM)が導入されていると、メタデータ no_see_death_message の所有者は MoreFlags ではなく TDM です(DeathMessageListener のコンストラクタで TDM を所有者にしています)。

しかし、WorldGuard のバイパス権限を持つプレイヤーからメタデータを外す処理が、所有者として MoreFlags を指定していました。そのため削除されず、OP などバイパス権限のあるプレイヤーが、isolate-death-message 領域で死亡メッセージを受け取れませんでした。

変更

removeMetadata の所有者を、メタデータ作成時の所有者(noSeeMeta.getOwningPlugin())にします。TDM が無い場合の所有者は MoreFlags 自身のため、挙動は変わりません。

検証

Paper 26.3 + WorldGuard 7.0.19 + ToggleDeathMessage で、実 Bot が受信した結果を確認しました。

  • 修正前: isolate-death-message 領域内の死亡で、バイパス権限を持つ OP は受信しない(失敗)
  • 修正後: OP は受信し、一般プレイヤーは領域内の者だけが受信する(14/14 PASS)

注意

  • この修正は、TDM 側の PR(okocraft/ToggleDeathMessage#33)と組み合わせて意味を持ちます。TDM が no_see_death_message を読まない現行の v4.0.0 では、そもそもフラグが効きません。
  • ユニットテスト(src/test)と Folia は未検証です。

Generated by Claude Code

…layers

The metadata is owned by ToggleDeathMessage when it is installed, so removing it
with MoreFlags as the owner did nothing and players with WorldGuard bypass kept
being excluded from the death message.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01An7Jsqoey6TALGm294uYKf
@Siroshun09
Siroshun09 merged commit 2d48862 into master Oct 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants