MangoMC plugins

Two small plugins power the server: MangoStore delivers approved store orders automatically, and MangoKey gives everyone online a free crate key every 2 hours and reports it to Discord.

MangoStore

Auto-delivery for web store orders.

  • Polls the store queue every 15s
  • Runs rank / key / coin commands
  • Marks orders delivered
Download MangoStore.jar

Ready-to-use plugin JAR (Spigot/Paper 1.20+, Java 17). Drop it straight into plugins/. Source ZIP

MangoKey

Automatic keyall + Discord webhook.

  • KeyAll every 2 hours (configurable)
  • Any commands you want, fully customisable
  • Webhook posts how many players got a key
Download MangoKey.jar

Ready-to-use plugin JAR (Spigot/Paper 1.20+, Java 17). Drop it straight into plugins/. Source ZIP

Plugin API keys

Keys are private. Enter the admin key to reveal the values for every MangoMC plugin.

MangoStore setup

  1. 1. Before you start

    • A Spigot or Paper server on 1.20+ (your Shockbyte host works fine).
    • File-manager or FTP access to the plugins/ folder.
    • Your store plugin key — it lives in the Payments tab of the admin panel.
  2. 2. Drop the plugin in

    Put MangoStore.jar in plugins/ and restart once. It creates plugins/MangoStore/config.yml.

  3. 3. Configure it

    # plugins/MangoStore/config.yml
    api-url: "https://mango-mcstore.lovable.app/api/public/plugin"
    api-key: "your-store-plugin-key"
    poll-seconds: 15

    Then /reload confirm or restart. Endpoints used: GET /api/public/plugin/pending?key=… and POST /api/public/plugin/ack.

MangoKey setup

  1. 1. Install

    Drop MangoKey.jar into plugins/ and restart. Make sure your crate plugin (CrazyCrates, ExcellentCrates…) is installed too.

  2. 2. Customise everything

    Edit plugins/MangoKey/config.yml — the timer, the commands, the broadcast and the webhook are all yours to change.

    # plugins/MangoKey/config.yml
    interval-minutes: 120      # every 2 hours
    run-on-start: false
    min-players: 1             # 0 = run even with nobody online
    
    commands:                  # %player% = each online player
      - "crate key give %player% vote 1"
    
    broadcast: "&6[MangoMC] &eFree crate keys dropped for &6%count% &eplayers! Type /crates"
    
    webhook:
      enabled: true
      url: "https://discord.com/api/webhooks/xxxx/yyyy"
      username: "MangoKey"
      message: "🥭 **Auto KeyAll** — **%count%** players just received a crate key!\n%players%"

    Placeholders: %player% in commands, %count%, %players% and %time% in the broadcast/webhook.

  3. 3. Discord webhook

    1. In Discord: Server Settings → Integrations → Webhooks → New Webhook.
    2. Pick the channel (e.g. #keyall), then Copy Webhook URL.
    3. Paste it into webhook.url and set enabled: true.
    4. Run /mangokey now — Discord should show how many players got a key.
  4. 4. Commands

    /mangokey now      # run a keyall right now
    /mangokey next     # time until the next automatic keyall
    /mangokey reload   # apply config.yml changes without restarting

    Permission: mangokey.admin (OP by default).

Something not working?

  • Store: nothing runs → the key in config must match the store key exactly (401 = wrong key, 404 = wrong url).
  • MangoKey: keys not given → test your command manually in console with a real player name first.
  • Webhook silent → the URL must start with https://discord.com/api/webhooks/.

Still stuck? Ask us on Discord.