AT-ShoppingMall | Plot Rent & Sell 1.7.2
Plot-based mall plugin: rent/sell plots, QuickShop hooks, holograms, ranks, audit log, full GUI.
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
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 inplugins/bStats/config.yml.
๐ฌ Support & Docs
Full documentation is available online. Need help, found a bug, or want to suggest a feature? Join the Discord.
Read the documentation
Click here to join the Discord
Build the mall. Rent the plots. Run the economy.
Statistics
Views
Purchases
Downloads
File size
Published
Updated
Info
Share & Earn
Share and earn part of the profits, an estimated €0.8 per product sale.