Releases: Melocet/PlotMe
Release list
PlotMe v1.0.2
Highlights
Merge
- Manual-only (auto-link disabled;
AutoLinkPlotsdefaultfalse) - Configurable cap:
merge-max+ permission tiersplotme.merge.limit.4/6/9/16/* - Master switch:
merge-enabledconfig flag - Grass top + claimed walls on merged road strip + pling sound
- 4-plot cluster center cleanup (
fillCenterIntersection) /plotme infodetects cluster from any block on a merged road- Cluster owner can build on merged-road strips (no OP needed)
Dispose
- Restores road grid + walls with exact chunk-gen pattern parity (ROAD_ALT inlays at intersections, correct stripe layout)
mergedWithlink removal persisted viamarkDirty- Cluster split into components; each component gets its own NW sign
Web-map (BlueMap / squaremap)
- Facade + Impl class split — softdep classes never loaded when backing plugin is missing (no more
NoClassDefFoundErroron startup) WebMapDispatcherfansPlotLoadEvent/PlotDisposeEventto every hook
GUI (/plotme menu)
- New Biome page with curated biome buttons
- Biome page click applies to full plot + merged road strips + cluster center
- Click sounds + chat confirmation matching the command flow
Signs
- Cluster's outermost NW carries the colored Adventure sign; other members' signs removed
- Line 1: GOLD+BOLD plot id · Line 3: AQUA owner · Line 4: GRAY cluster ids
- Seller sign uses GREEN+BOLD "FOR SALE" palette
Chat
- Centralized
[PlotMe]prefix at the chat-send boundary use-legacy-textsconfig:false→&→§colored,true→ strip color codes and use plain[PlotMe]prefix- Captions colorized (success
&a, error&c, info&e/&b, neutral&7/&f)
Bug fixes
- Plot id off-by-one fix at eastern/southern plot edges
/plotmeon a fresh server:MsgNoPlotWorldSetupwith/mv createhint instead of crash/plotme autoon a racing-loaded world: guardsgetGenManagernull- Defensive null checks on
plots.get(world)cache
Other
- Drop legacy
Version=0.17.3config key - Sync
captions.ymlwithmessages_en.properties(68 keys + 1 typo) - Cleanup: dead
UUIDFetcher/NameFetcher, commented-out code,printStackTrace→ logger, unused imports
Drop PlotMe.jar in your plugins/ folder and restart.
v1.0.1 — /plotme clear & /plotme auto fixes
Bug-fix release for v1.0.0. Three command paths were broken on Paper 1.21 because of API tightening that the 2019 codebase had no way to anticipate.
Fixes
/plotme clear
BukkitUtil.adapt(Entity)now returnsBukkitPlayerfor players, so theIPlayerguard inclearEntities()actually matches and we don't try toEntity#remove()a player (UOE on modern Paper).ChunkEntryno longer callsWorld#regenerateChunk— Paper 1.21 stubbed that method to throw UOE. The plot interior is now reset by walking the blocks directly: fill block below road, plot-floor block at road height, air above. Border walls/roads are left untouched.
/plotme auto
- Teleport and the follow-up message are now wrapped in the sync
runTaskthat already created the plot. Previously they ran on the async scheduler worker, which Paper rejects forPlayerTeleportEvent.
Defense-in-depth
BukkitPlayer#remove()andBukkitEntity#remove()are no-ops when the entity is a player, so any future caller slipping past the guard still doesn't crash the command.
No behavioral changes to commands, permissions, or the on-disk config layout.
Compatibility
- Paper 1.21.4+, Java 21
- Optional soft-deps: Vault, WorldEdit 7
Drop the jar into plugins/, restart the server (or /reload confirm if you must), and re-test /plotme clear and /plotme auto.
v1.0.0 — Paper 1.21+ modernization
First release of the modernized PlotMe-Core fork. Single jar — the default
plot-world generator is now bundled, no companion plugin needed.
Compatibility
- Paper 1.21.4+ (uses the modern ChunkGenerator API and BlockData throughout)
- Java 21
- Optional soft-deps: Vault, WorldEdit 7
Highlights
- Java 1.7 → 21, Bukkit 1.8 → Paper 1.21.4, WorldEdit 6 → 7
- McStats → bStats 3.0.2 (shaded + relocated)
- Sponge platform, LWC, and the pre-1.13 schematic engine removed (~2500 lines of dead code)
- PlotMe-DefaultGenerator merged in under
src/generator/java; legacy abstract-generator dependency inlined - ChunkGenerator rewritten on Paper 1.21's
generateNoise(WorldInfo, Random, int, int, ChunkData)API; vanilla noise/surface/caves/decorations/mobs/structures all suppressed for clean plot worlds - Configs accept both legacy
"44:7"ids and modern Material names — old configs keep working - Owner/seller signs use
OAK_WALL_SIGNwith properWallSign.setFacing(...)so they actually attach to walls
Setup
Drop the jar in plugins/, start once, then create a plot world:
/mv create plotworld normal -g PlotMe
or without Multiverse, add generator: PlotMe under the world in bukkit.yml.
Commands, permissions, and on-disk config layout are unchanged from upstream PlotMe.