Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Simulated ChestShop

From Prosperity SMP Wiki
Revision as of 15:19, 27 May 2026 by Maintenance script (talk | contribs) (Note custom-built plugin + link to engine pages)

The Simulated ChestShop is a custom-built automated market activity engine developed specifically for Prosperity SMP. Unlike off-the-shelf plugins, it was designed from scratch to integrate with the server's CPI tracking, monetary policy engine, and economic dashboard. It creates background buying activity at player-owned ChestShop signs, ensuring shops see traffic even during low-population hours.

Purpose

At low player counts, player shops can sit idle for hours. This discourages players from setting up shops, which weakens the player-driven economy. The Simulated ChestShop solves this by having a server-managed bank account (CentralBank) purchase items from player shops at fair market prices.

The system only buys — it does not sell items to players. It is a pure liquidity injection from the CentralBank reserve into player hands.

Custom development

The Simulated ChestShop was purpose-built as a Skript plugin (sim-chestshop.sk) rather than using an existing solution. This allows deep integration with the server's other custom systems:

  • CPI awareness — the system reads real market prices to determine fair buy values, and its own transactions are excluded from CPI calculations to prevent feedback loops.
  • Monetary policy engine integration — every bank-to-player payout is classified as a TRANSFER_TO_PUBLIC event, feeding the engine's source-flow ratio analysis.
  • Demand governor — an adaptive controller that adjusts buying intensity based on time of day, player count, real buyer activity, and bank health. The system backs off when real buyers are active and fills in when the market is quiet.
  • Per-shop persona system — transactions use randomized buyer names in logs for natural appearance.

How it works

  1. The system maintains a shopping list of approximately 130 common items with internal maximum buy prices.
  2. Every few minutes, it scans active player ChestShop signs for eligible items.
  3. If a shop sells an item on the list at or below the max price, the system may purchase.
  4. The shop owner receives payment to their balance, identical to a normal sale.
  5. Purchased items are removed from the chest (the bank does not stockpile).

From the shop owner's perspective, the transaction looks identical to a real player purchase.

What the system buys

Category Examples
Mining Cobblestone, stone, deepslate, iron ingot, gold ingot, diamond, coal, redstone, lapis, copper
Wood Oak log, spruce log, birch log, planks
Farming Wheat, carrots, potatoes, sugar cane, melon, pumpkin
Food Cooked beef, cooked chicken, bread
Building Glass, bricks, sand, gravel
Mob drops String, gunpowder, bones, leather, feathers
Nether/End Quartz, glowstone, chorus fruit, blaze rod

Items the system will NOT buy

Beacons, totems of undying, ender pearls, shulker boxes, elytra, mob spawners, and other high-value or exploit-prone items.

Demand controls

Control Purpose
Daily spending cap Bank stops buying after a server-wide daily limit
Per-owner cap No single shop owner receives more than a set share of the daily budget
Per-shop cooldown Waits between purchases from the same shop
Intensity profiles Activity scales with server population and time of day
Bank floor Stops all activity if the CentralBank balance drops below a safety threshold

Economy integration

The system is tightly integrated with the server's custom economic infrastructure:

  • Transactions are flagged simulated: true in the transaction log.
  • The CPI excludes simulated transactions — it reflects real player prices only.
  • The Monetary policy engine classifies payouts as transfers from reserve, not new money creation.
  • A 7-day lagged CPI snapshot prevents the system from chasing its own price signal.

Visibility

The system is intentionally invisible to players:

  • No command reveals bank buy prices or the shopping list.
  • The /market command shows real player data only.
  • Shop owners cannot distinguish simulated purchases from real ones.

Admin commands

Command Description
/simshop status Bank balance, daily spend, pause state
/simshop pause Pause all activity
/simshop resume Resume activity
/simshop refill <amount> Add funds to CentralBank

These require staff permissions.

See also