anth64
c1158d50c3
Actively protect claim link buffer zones from non-members
...
Adds a region-indexed lookup (ClaimLinkBufferIndex), keyed via the
game's own WorldManager.MapRegionIndex2D and rebuilt on every registry
mutation and on SaveGameLoaded, feeding a block break/place/use gate
(ClaimLinkBufferProtection) that denies players who aren't members of
the relevant claim link from modifying buffer-zone land. Any existing
vanilla claim access (owner, claim's group, explicit permission grant,
or AllowUseEveryone) always overrides the buffer check.
Bump to 0.4.0.
2026-08-06 19:36:21 +02:00
anth64
636a7dee98
feat: filter buffer data sent to visualizer clients by view distance
2026-07-31 07:38:56 +02:00
anth64
1e4400555c
chore: bump version to 0.2.0
2026-07-31 07:18:56 +02:00
anth64
0dfcc5396a
feat: add client-visualizer network endpoint for buffer geometry
2026-07-30 23:14:06 +02:00
anth64
c110ee2604
fix: normalize claim geometry before growing buffer (raw start/end marks aren't min/max ordered)
2026-07-27 07:40:12 +02:00
anth64
baf3ccbd93
feat: enforce buffer-zone non-overlap on /claimlink link
2026-07-26 15:30:35 +02:00
anth64
3cf6db1d2a
fix: clear PendingLoads on /land claim new to match vanilla's unconditional reset
2026-07-26 14:36:37 +02:00
anth64
12219e6ef5
feat: add ClaimLinkConfig with configurable buffer size
2026-07-26 12:07:46 +02:00
anth64
0e0e4e0f74
chore: bump version to 0.1.0
2026-07-26 11:28:08 +02:00
anth64
154e7b7848
chore: bump version to 0.0.7
2026-07-26 11:25:27 +02:00
anth64
9e37ec11cf
feat: implement admin delete/unlink/kick, fix admin unlink claim arg type
2026-07-26 11:23:21 +02:00
anth64
4d98a115ed
feat: infer claim link group from chat context when omitted; drop redundant admin info
2026-07-26 11:21:13 +02:00
anth64
99238c4744
feat: hook group leave/kick to proactively cancel pending actions with a reason
2026-07-26 10:33:46 +02:00
anth64
1c079b7e44
fix: cancel pending actions on group disband even if not yet a claim link
2026-07-26 09:08:08 +02:00
anth64
b7ca9fa53b
fix: track groupId per pending action for precise cleanup on delete/disband; split group hook into its own listener; self-heal orphaned registry entries in list
2026-07-26 08:51:54 +02:00
anth64
c55787ce40
feat: react to /group confirmdisband and recheck live membership on link confirm
2026-07-23 07:57:39 +02:00
anth64
b10d3a0f55
fix: cancel old owner's pending action on ownership transfer
2026-07-21 20:29:32 +02:00
anth64
b5ceba442a
fix: cancel kicked player's pending action to stop stale link re-add
2026-07-21 20:25:21 +02:00
anth64
d248b772dc
fix: split adminfree (by player name) from adminfreehere (by position)
2026-07-21 19:36:48 +02:00
anth64
c8fc86069b
feat: gate claim link info detail by membership/admin, count members with no claims
2026-07-20 23:36:03 +02:00
anth64
2e4cc25b20
fix: guard claim-link entries against stale indices and dead groups
2026-07-20 23:28:37 +02:00
anth64
fc7e601f5b
refactor: expose TryResolveOwnedClaim for future external mod consumption
2026-07-19 20:43:05 +02:00
anth64
a2e4a68f9e
refactor: rebuild claim link registry around live index tracking, drop ClaimLink type
2026-07-19 20:31:10 +02:00
anth64
741d283f38
refactor: clear pending actions in claim link command instead of land claim listener
2026-07-19 10:49:11 +02:00
anth64
9fcf6f1da5
fix: resolve claim on load
2026-07-19 10:48:41 +02:00
anth64
f699cd6d54
chore: log adminfree phase and claims found at caller position
2026-07-18 11:55:24 +02:00
anth64
94b6723456
feat: sanity-check claim save/free against tracked ordering state
2026-07-18 11:47:52 +02:00
anth64
de2026d239
refactor: merge land command Before/After into shared phase-aware dispatch
2026-07-18 11:46:32 +02:00
anth64
fffc046126
refactor: normalize claim link membership into flat entry storage
2026-07-15 18:46:52 +02:00
anth64
eaa79f8f52
fix: transferownership correctly sets owner level and demotes old owner to op, works for offline players, notifies members
2026-07-14 22:52:32 +02:00
anth64
1c0a5f88a1
refactor: remove "claims" text from list of claims in FormatInfo.
2026-07-14 22:21:07 +02:00
anth64
d4ef3eba06
fix: show player name in require player
2026-07-14 22:17:00 +02:00
anth64
32dbd4ad91
feat: implement claimlink admin transferownership
2026-07-13 07:56:37 +02:00
anth64
41a2f1a09d
feat: implement claimlink transferownership with debug logging
2026-07-13 07:50:50 +02:00
anth64
bee6b6434a
fix: RequireOpOrOwner allows OwnerUID holder regardless of membership level
2026-07-13 07:40:24 +02:00
anth64
979f02e7f8
feat: open info to any player, add claimlink list, bump to 0.0.6
...
Modified command messages.
2026-07-12 21:19:24 +02:00
anth64
acbc45483e
feat: implement claimlink delete
2026-07-12 19:54:13 +02:00
anth64
4e97e25b38
refactor: unlink no longer needs a groupname arg
...
A claim can only belong to one claim link at a time, so it resolves
via the new Registry.FindLinkContaining(playerUid, claimIndex).
2026-07-12 19:52:23 +02:00
anth64
1803aaaa37
fix: clear kicked player's pending action on kick
2026-07-12 19:46:08 +02:00
anth64
c035bf1a73
refactor: replace pending-link buffer with generic pending-action confirm/cancel
...
new/link/unlink/kick now stage a validated action and require confirm
to execute, instead of new alone gating a multi-edit draft. Bump to
0.0.5.
2026-07-12 19:43:00 +02:00
anth64
565f91408b
feat: implement claimlink info, bump to 0.0.4
2026-07-12 19:27:31 +02:00
anth64
e7118e259b
feat: implement claimlink kick
2026-07-12 19:23:54 +02:00
anth64
65e00e2f57
feat: stage claimlink new behind confirm/cancel pending state
2026-07-12 19:09:40 +02:00
anth64
c7e3f97a85
feat: implement claimlink unlink
2026-07-12 19:06:43 +02:00
anth64
0914d55d9a
refactor: extract guard-clause helpers for group/link resolution
2026-07-12 19:05:27 +02:00
anth64
ac79d2ac94
feat: implement claimlink link
2026-07-12 19:00:10 +02:00
anth64
3b6a44a779
chore: bump version to 0.0.3
2026-07-12 18:50:20 +02:00
anth64
deafd98f40
feat: implement claimlink new
2026-07-12 18:49:54 +02:00
anth64
3b63c5b4af
refactor: group member's claim indices into one list per player
2026-07-12 18:41:51 +02:00
anth64
cf17697a5e
feat: add member claims to the ClaimLink model
...
Each ClaimLinkMember stores an owner player uid plus that player's
local claim index (resolved fresh at use, not trusted as stable) so
a claim link can reference existing vanilla claims without copying
their data. Buffer claim is intentionally not referenced here; it
resolves on demand via group ownership.
2026-07-12 18:38:09 +02:00