Claimed Chunk
Territory is recorded one 16×16 Minecraft chunk at a time, as a row pointing from world coordinates to a faction.
A claim is a single Minecraft chunk — a 16×16 column — assigned to a Faction. There is no polygon, no region, and no bounding box: territory is a set of chunk coordinates, and every question about land reduces to a lookup on (worldId, x, z).
The shape of the record
MfClaimedChunk holds four fields and no behaviour: the world UUID, the chunk's x and z, and the owning factionId. It is the smallest record that can answer "who owns this ground?", and it holds nothing else.
Note the direction of the reference. The chunk points at the faction; the Faction record does not hold a list of its claims. Territory is therefore queried, not traversed — which is why MfClaimService exists and why counting a faction's claims is a repository call rather than a property read.
Why chunks
Chunk granularity is inherited from Minecraft itself. The server already loads, unloads, and indexes the world by chunk, so a claim boundary that coincides with a chunk boundary is free to check: given a block, the containing chunk is arithmetic, and the ownership lookup is a single map hit. A finer boundary would have cost a spatial index on the hot path of every block placement.
The visible consequence for players is that borders are always square and always aligned to the world grid — which is also what makes Map Integration cheap to render.
What a claim controls
Ownership by itself grants nothing. Whether a given player may build inside a claim is resolved from Faction Permission for members and from Faction Flag settings for outsiders, allies, and the Vassalage chain.
Related
How much land a faction may claim is capped by Demesne Limit, derived from Faction Power. Claims are also the payload that Map Integration renders and that Fiefs subdivides.