File Details
claimmyland-neoforge-1.21.1-2.7.0.jar
- R
- Apr 23, 2026
- 841.51 KB
- 138
- 1.21.1
- NeoForge
File Name
claimmyland-neoforge-1.21.1-2.7.0.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
Changelog for Claim My Land 1.21.1
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
> ⚠️ IMPORTANT — Breaking Change & Backup Warning > > v2.x is not save-compatible with v1.x. Parcel data saved by any v1 release will not load in v2. If you are upgrading an existing world, your claimed parcels will be lost. > > Back up your world before installing v2. Copy your entire world folder to a safe location before upgrading. Once you have loaded the world in v2, downgrading back to v1 is not supported.
> 💡 Recommended: Since this mod is heavily command-based, we recommend using 🔗 Chat Plus for a better command history and larger chat window.
Claim My Land — Changelog
[2.7.0] - 2026-04-22
🎉 Highlights
- Parcel rename via Border Stone — right-click any Border Stone with any sign variant to open the sign editor pre-filled with the current parcel name. All four lines are concatenated into the new name. Sign is consumed on submit. Owner only.
- Parcel rename via Iron Name Tag — name a tag in an anvil, then right-click a Border Stone to instantly rename the parcel. Tag consumed on success.
- Estate rename via Gold Name Tag — name a tag in an anvil, then right-click a Border Stone to rename its estate across all parcels that share it. Tag consumed on success.
- Parcel and estate rename persistence fixed for Nether/End — a pre-existing
bug caused all persistence operations (rename, claim, demolish, etc.) to
silently fail for players in the Nether or End. Fixed centrally in
CommandHelper.save(). /cml-ops opslistmanagement command — add, remove, and list CML ops directly in-game without editingclaimmyland-server.toml.- Client-side double cancel fix — deeds placed inside a protected parcel no longer fire a cosmetic double cancel on the client.
- Enderpearl teleport protection — opt-in server config to block enderpearl teleports into protected parcels. Nations always bypass. Default: off.
- Deeds as Loot — deeds appear as chest loot in YUNG's
Better Dungeons, and Twilight Forest structures now. Configurable via
enableDeedLootserver config. Four tiers: common, uncommon, rare, epic.
➕ Added
Parcel rename via Border Stone (sign)
- Right-click any Border Stone while holding any sign variant (any wood type).
- Sign editor opens on the adjacent face of the Border Stone, pre-filled with the current parcel name on line 1.
- Placement face: clicked face used if horizontal and unobstructed; falls back through NORTH → SOUTH → EAST → WEST; failure message if all four blocked.
- All non-empty sign lines concatenated with spaces → new parcel name.
- Sign consumed on submit (not in creative mode). Owner only.
- JM overlay updates live. HUD updates immediately if owner is standing in the parcel; otherwise updates on re-entry.
- New blocks:
CMLRenameSignBlock,CMLRenameSignBlockEntity. - New lang keys:
parcel.rename.sign.no_space,parcel.rename.sign.empty,parcel.rename.sign.not_owner,parcel.rename.sign.success.
Iron Name Tag — parcel rename
- New item
IronNameTagItem(claimmyland:iron_name_tag). - Crafted: vanilla name tag + iron nugget (shapeless).
- Obtainable via
/cml give iron_name_tag. - Must be named in an anvil before use — failure message if unnamed.
- Right-click a Border Stone to rename the parcel to the tag's name.
- Tag consumed on success. Owner only.
- New lang keys:
parcel.rename.tag.not_named,parcel.rename.tag.not_owner,parcel.rename.tag.success.
Gold Name Tag — estate rename
- New item
GoldNameTagItem(claimmyland:gold_name_tag). - Crafted: vanilla name tag + gold nugget (shapeless).
- Obtainable via
/cml give gold_name_tag. - Must be named in an anvil before use — failure message if unnamed.
- Right-click a Border Stone to rename its estate. Rename applies to all parcels sharing that estate simultaneously.
- Tag consumed on success. Owner only.
- New lang keys:
estate.rename.tag.not_named,estate.rename.tag.not_owner,estate.rename.tag.success.
/cml give — new items
iron_name_tagandgold_name_tagadded to the give command suggestion list and switch cases.
/cml-ops opslist management command
- New subcommand group under
/cml-ops:opslist list,opslist add <player>,opslist remove <player>. list— chat display with ✚ add / ✘ remove interactive icons per entry. UUIDs shown as hoverable 12-char suffixes viaFormatterConstants.hoverableUuid.add— suggests online players; falls back to PlayerRegistry → Mojang-cache UUID resolution for offline players.remove— suggests current ops list members by name; UUID resolved per entry.- Self-removal permitted (matches vanilla
/deopsemantics). - Malformed UUIDs in config are logged and skipped from display and suggestions.
- New files:
OpsListSubCommand.java,OpsListFormatter.java. - New lang keys:
opslist.add.success,opslist.add.already_op,opslist.remove.success,opslist.remove.not_op(title + body pairs).
FormatterConstants.hoverableUuid(UUID)
- New static helper that displays the trailing 12 characters of a UUID with the
full UUID on hover. Canonical way to show parcel/estate/player UUIDs compactly
in chat output. Used by
OpsListFormatter.
Client-side double cancel fix
ClientEvents.onPlayerInteractBlocknow bypasses the protected-parcel cancel when the player is holding aDeedin either hand.- Covers the legitimate case of a non-owner placing a deed inside someone else's
Nation —
canPlaceAt/PlacementResulton the server handles actual permission; the client cancel was purely cosmetic interference. - Scope is Deed-only: other CML items (
CitizenTool,ZoningTool, name tags) are owner-only by design and never trigger the cancel in their valid use case.
Enderpearl teleport protection
- New server config boolean
enableEnderpearlTeleport(default:false). - When enabled, blocks enderpearl teleports into Zone, Citizen, and Player parcels unless the teleporting player is the owner, on the whitelist, or a CML op.
- Nation parcels always bypass — Nations are public-transit by design.
- Guard order mirrors
onChorusFruitTeleport: server-side check → feature flag → chunk pre-filter → dimension guard → ops bypass → Nation bypass →hasAccessgate. - New lang key:
teleport.enderpearl.blocked.
🐛 Fixed
Parcel/estate persistence silently fails for players in the Nether or End
- Root cause:
CommandHelper.save(Level)passed the caller's level directly toPersistedData.get().PersistedDatausesDimensionDataStorage, which is per-dimension.ParcelRegistryis stored in the Overworld. Any persistence call originating from a player in the Nether or End receivednullfromPersistedData.get(), which the null check silently swallowed — dirty flag never set, changes never written to disk. - Affected operations: all commands and interactions that call
CommandHelper.save(), including parcel rename, estate rename, claim, demolish, relinquish, whitelist edits, and the new Border Stone rename. - Fix:
CommandHelper.save()now resolves to the OverworldServerLevelinternally before callingPersistedData.get(). All call sites are unchanged — the fix is transparent and centralized.
Requires GottschCore NeoForge v2.6 or later.

