Rentable and buyable shop plots inside a managed mall, all run through GUIs
By zArrowTan.






๐ Overview
AT-ShoppingMall turns any area into a managed shopping mall. Admins carve out 3D plots with a wand, set a rent price or a sale price, and players rent or buy them to run their own shops. The plugin handles the whole lifecycle: scheduled rent, overdue fees, grace periods, auto-eviction, item recovery, ranks, holograms, warps, alerts, and a full audit trail. Almost every screen is a GUI, and almost every string and menu is editable, so you can theme and translate it without touching code.

Browsing and renting through the main /sm menu
โญ Why AT-ShoppingMall?
- GUI-first, not sign-first: browsing, renting, buying, admin, audit, holograms, and warps are all menus.
- Player-to-player leasing: owners can sub-lease plots to other players, with an admin-reviewed eviction flow.
- Full eviction and recovery: evicted players' blocks and chest items are saved and reclaimable, with configurable re-rent policies and cooldowns.
- Storage choice: YAML, SQLite, or MySQL/MariaDB, with live runtime switching.
- Discord webhook mirroring: rich embeds with per-event toggles.
- Deep customization: every message and menu, hex and gradient colors, configurable GUI slots, and PlaceholderAPI support.
- Developer API: other plugins can query plots and register shop-cleanup providers for any chest-shop plugin.
๐ฌ Plot System
- 3D cuboid plots created with a wand: left-click corner 1, right-click corner 2
- Automatic snapshot saving of plot contents
- Region protection for plot areas
- Redefine plot boundaries after creation

The plot selector wand

Selecting corner 1 and corner 2 with the wand
๐ฐ Economy & Listings
Requires Vault plus an economy plugin.
- Server-owned and player-to-player renting and selling
- Set rent (
/sm setrent) or purchase price (/sm setprice) - Admin force variants to bypass checks (
/sm forcesetrent,/sm forcesetprice) - Configurable currency symbol (cosmetic, Vault controls the real currency)
โฐ Auto-Rent & Overdue Handling
- Scheduled rent on a configurable interval (default 7 days)
- Overdue detection with a grace period (default 3 days, 0 evicts immediately)
- Late fees as a percentage of rent or a flat amount
- Separate maintenance fee on its own interval for upkeep regardless of tenancy
- Auto-eviction once overdue past the grace window
๐ช Eviction & Recovery
- On eviction, the tenant's blocks and chest items are saved for later recovery
- Players reclaim items via
/sm claim-evicted - Recovery items expire after a configurable number of days (default 30, 0 keeps forever)
- Re-rent policies: ALLOW, SAME_PLOT_TIMED, SAME_OWNER_TIMED, SAME_PLOT_PERMANENT, SAME_OWNER_PERMANENT, with a configurable cooldown for the timed ones
- Owners can clear restrictions with a pardon flow

The force-evict menu

Leaving a plot and reclaiming items from the recovery menu
๐ค Player Leasing
- Plot owners can sub-lease to other players
- Eviction request and deny system with admin approval required
- Configurable cooldown between eviction requests
- Options for whether an owner can leave while a tenant is renting
- Auto-relist on tenant leave, with optional clearing of the shop warp
๐ Admin Panel
- Full GUI management with filter, search, fuzzy matching, stats, and bulk actions
- Mark server-owned plots UNAVAILABLE (on-hold or maintenance), with an optional required reason
- Show nearby plot outlines with a particle preview (
/sm showplots)

Browsing the admin panel

Managing a single plot from the admin panel

Three search methods: exact name, closest match, and by player name
๐ก Protection
- Block break and place, containers, explosions, fire, PVP toggle, armor stands, item frames, and respawn anchors
- Coexists with WorldGuard global deny regions, so plot members can still build inside their plot
- PVP can be toggled live with
/sm togglepvp
โจ Holograms
Requires DecentHolograms.
- Floating text above plots
- GUI positioning with a Y offset, and optional boundary checking so holograms stay in bounds
- Rank-based limits on hologram line counts

The per-plot hologram menu

A default plot hologram
๐ Ranks
- Configurable rank tiers that control plot limits and hologram line limits
- Players view and upgrade ranks in a GUI
- Rank menu layout lives in a single
ranks.ymlfile - Add or edit ranks with no restart, just edit
ranks.ymland run/sm reload

The ranks menu
๐งญ Warps
- Mall warps: named admin teleport points in a paginated GUI
- Player warps: tenants and owners set custom shop warps with a name, description, and location, shown in a searchable public directory

Mall warps, set with /sm setwarp

The player warps directory
๐ Audit Log
- Detailed action history with filters by type, actor, and month
- Pagination, sort, click-to-teleport to the affected plot, and auto-purge by age
- Configurable timezone for timestamps and a retention period (default 90 days)

The audit log with filters and click-to-teleport
๐ Alerts
- Opt-in notifications when new plots are listed for rent or sale
- Per-context self-notification toggles for admin and player listings
๐ฌ Discord Integration
- Mirror plugin events to a Discord channel via an incoming webhook
- Rich embeds (colored cards with fields) or plain one-line messages
- Per-event toggles for new listing, create, delete, evict, eviction request, reset, delist, price change, redefine, PVP toggle, preset save, availability, rent, and more
- Configurable embed colors per event, plus title, footer, username, and avatar
๐พ Storage Backends
- YAML by default, no setup
- SQLite (single file, no server)
- MySQL or MariaDB with HikariCP connection pooling
- Live runtime switching between backends, with auto-migration on first switch
- Database drivers are runtime-loaded, not shaded into the jar
๐งฉ Developer API
- Public
ShoppingMallAPI, obtained from Bukkit's services manager - Query methods: is-a-plot, get plot, get all plots, get owner, get tenant, get region, get status (AVAILABLE, RENTED, PURCHASED, UNAVAILABLE), and is-rented
- ChestShopProvider extension point: other plugins teach AT-ShoppingMall how to delete shops from any chest-shop plugin (ChestShop, EconomyShopGUI, ShopChest, and so on) when a plot is cleared. The built-in QuickShop hook is the reference implementation.
- Providers register and unregister at runtime, and eviction and reset flows call every registered provider
๐ Menu Customization
- Resource pack ready: every menu icon supports custom
model-data, so you can swap in your own textures for a fully themed mall - Simple sizing: set menu height with
rows: 1-6instead of raw slot counts, and oldsize:keys convert automatically - Auto or manual layout: let the plugin arrange icons by
order, or pin each one to its ownslotwith themenu.manual-slotstoggle - Fully editable: every menu including the admin search menu
- Safe updates: menu files auto-update on new versions, new keys are added while your edits stay intact
๐จ Customization & Localization
- All messages editable
- All GUI menus editable: titles, items, slots, materials, filler, and decorations
- Hex and gradient colors with a global RGB toggle
- PlaceholderAPI support (20+ placeholders for scoreboards, TAB, and more)
- Bundled languages plus drop-in custom language files loaded from disk
- Configs auto-migrate on update: new keys are added with defaults, existing values preserved
Fully translated out of the box: English, Spanish, French, and Indonesian. More languages ship too, and you can drop in your own.
๐ 25 Languages Out Of The Box
AT-ShoppingMall ships with 25 bundled language files, every player-facing string ready to go.
20 real languages: English (US, UK, IN), French, Spanish, Filipino, Indonesian, Cantonese, Mongolian, Tok Pisin, Swahili, Icelandic, Maori, Welsh, Basque, Navajo, Hawaiian, Mongolian script, Esperanto, and Middle Korean.
5 just for fun: Klingon, Toki Pona, Egyptian hieroglyphs, Kryptonian, and Victorian English.
Missing a language? Drop your own file in the folder and select it. No recompile needed.
โจ๏ธ Commands
Main command
/sm (alias /mall).Player Commands
/smopen the main menu/sm plotsview your plots/sm tp <plot>teleport to a plot/sm pay [plot]pay rent/sm balancecheck balance and plot info/sm members add/remove <player>manage plot members/sm ranksview and upgrade ranks/sm warpsopen mall warps/sm pwarpsopen the player warps directory/sm pwarp <name>teleport to a player warp/sm hologrammanage your plot hologram/sm setentranceset the plot entrance location/sm renthistoryview rent payment history/sm claim-evictedrecover evicted items/sm alertstoggle listing notifications/sm help [page]player help
Admin Commands
/sm wandget the selection tool/sm create <id>create a plot/sm delete <plot>delete a plot/sm redefine <plot>redefine plot boundaries/sm setrent <plot> <amount>and/sm setprice <plot> <amount>/sm forcesetrentand/sm forcesetpriceforce variants/sm delist <plot>clear listings/sm forceevict <plot>force-evict the occupant/sm adminopen the admin panel/sm auditopen the audit log/sm viewrequestsview pending eviction requests/sm showplotsshow nearby plot outlines/sm savepreset <plot>re-save the plot snapshot/sm togglepvptoggle PVP in plots/sm setwarp,/sm delwarp,/sm listwarpmanage mall warps/sm pardon <player>clear a re-rent restriction/sm migrate <yaml|sqlite|mysql> [confirm]switch storage backend at runtime/sm reloadreload configuration
Spoiler: Command help screenshots
/sm help)

Admin help (
/sma)

๐ Permissions
shoppingmall.usebasic usage (everyone)shoppingmall.adminall admin commands (op)shoppingmall.tpteleport to plots (everyone)shoppingmall.rentrent plots (everyone)shoppingmall.buybuy plots (everyone)
๐งช Requirements & Compatibility
- Minecraft: 1.21 line (tested), with 1.18 to 1.20 supported after a boot check
- Server software: Spigot, Paper, or Purpur (tested on Purpur 1.21.10)
- Java: 17 or higher
- Required: Vault plus an economy plugin (for example EssentialsX)
Optional integrations that work automatically when present:
- DecentHolograms floating text holograms
- QuickShop Hikari chest shop validation inside plots
- WorldGuard coexistence with global deny regions
- PlaceholderAPI 20+ placeholders
๐ฆ Quick Start
- Drop the jar into
plugins/. - Install Vault and an economy plugin.
- Restart the server.
- Run
/sm wand, left-click corner 1, right-click corner 2. - Run
/sm create <id>, then/sm setrent <id> <price>or/sm setprice <id> <price>. - Players use
/smto browse and rent or buy.

Console startup
โ FAQ
- Do I need WorldGuard? No, it's optional and only adds coexistence with global deny regions.
- Do I need a database? No, YAML works out of the box. SQLite and MySQL are optional.
- Do holograms work without DecentHolograms? No, holograms need DecentHolograms installed.
- Can players rent to other players? Yes, through the leasing system, with admin-reviewed evictions.
- Can I translate it? Yes, edit the language files or drop in your own.
- What happens to a tenant's stuff when evicted? It's saved and reclaimable, if item recovery is on.
- Is there a developer API? Yes, query plots and register shop-cleanup providers via
ShoppingMallAPI.
๐ Metrics
This plugin uses bStats to collect anonymous usage stats. You can opt out anytime in
plugins/bStats/config.yml.๐ฌ Support & Docs
Full documentation is available online. Need help, found a bug, or want to suggest a feature? Join the Discord.
Click here to join the Discord
Build the mall. Rent the plots. Run the economy.
Latest Reviews
AT-ShoppingMall | Plot Rent & Sell
zArrowTan
Plot-based mall plugin: rent/sell plots, QuickShop hooks, holograms, ranks, audit log, full GUI.
$8.09
Digital product, delivered instantly, no refunds · Terms
No versions available
Share and earn
How referrals work
- Your link is remembered for 30 days.
- 10% of each sale, paid to you as points.
- Yours to spend 30 days later.
- Ask your buyer to turn a VPN off, or the sale will not count.
Read the full rules
Earn on every sale you send here
10%
243 pts / sale