Promotions & Bonus

How automatic promotions and the daily bonus system work.

Promotions

The promotion system automatically creates rotating discounts on products. Promotions are generated at regular intervals and apply percentage-based discounts to eligible products.

How It Works

  1. At each reset interval, the plugin selects random products from those with possibleDiscount: true
  2. Each selected product receives a random discount between the configured minimum and maximum percentage
  3. Discounted prices are applied in the shop until the next promotion refresh
  4. Promotions persist across server restarts (stored in the database)

Configuration

promotion:
  enabled: true
  rechargeMultiplier: 1
  productsPerPromotion: 1
  minimumPromotionPercent: 5
  maximumPromotionPercent: 50
  promotionResetDuration: "1d"
OptionDefaultDescription
enabledtrueEnable or disable the promotion system
rechargeMultiplier1Multiplier for the /wa recharge command
productsPerPromotion1Number of products on promotion simultaneously
minimumPromotionPercent5Lowest possible discount (%)
maximumPromotionPercent50Highest possible discount (%)
promotionResetDuration"1d"Time between automatic promotion refreshes

Duration Format

FormatDuration
1d1 day
12h12 hours
30m30 minutes
60s60 seconds

Admin Commands

  • /wa promotion β€” view all active promotions
  • /wa promotion refresh β€” immediately regenerate all promotions

Recharge Multiplier

The rechargeMultiplier option modifies the amount deposited by the /wa recharge command. This is useful for running special deposit events:

rechargeMultiplier: 1.5

With the example above, /wa recharge Player 100 deposits 150$ into the player’s wallet.

Daily Bonus

The bonus system gives players a random amount of currency on a cooldown timer.

How It Works

  1. Player runs /bonus or clicks the bonus button in the shop GUI
  2. The plugin checks if the cooldown period has elapsed since the last claim
  3. If eligible, a random amount between minimumBonusAmount and maximumBonusAmount is deposited
  4. The cooldown timer resets
  5. If the cooldown has not elapsed, the player sees the remaining time

Configuration

bonus:
  enabled: true
  minimumBonusAmount: 0.05
  maximumBonusAmount: 0.15
  bonusResetDuration: "1d"
OptionDefaultDescription
enabledtrueEnable or disable the daily bonus
minimumBonusAmount0.05Minimum bonus payout
maximumBonusAmount0.15Maximum bonus payout
bonusResetDuration"1d"Cooldown between claims

Bonus States

StateDescription
SUCCESSFULLY_REDEEMBonus claimed successfully
MORE_TIME_NEEDEDCooldown has not elapsed
DISABLEBonus system is disabled
FAILUnexpected error