Shoppu

by Akari-my

A shop plugin

version 1.0.0

11 downloads ยท 0 stars

Published 9 Jul 2026 from Akari-my/Shoppu at 8adfd34869391303bca250a2d965a44944463658, after moderator review.

Plugin description

minecraft_title

Shoppu is a shop plugin for PocketMine-MP 5 that lets you create custom item shops with categories, buy/sell prices, category icons, and full language support.

โœจ Features

  • ๐Ÿ“‚ Category-based shops โ€” Organize items into categories with custom names and icons
  • ๐Ÿ’ฐ Buy & Sell โ€” Configure items as buy-only, sell-only, or both
  • ๐Ÿ–ผ๏ธ Category Icons โ€” Each category shows a Minecraft item texture as its button icon
  • ๐ŸŒ 15 languages โ€” Fully translatable UI and messages (English, Italian, French, German, Spanish, Portuguese, Dutch, Swedish, Polish, Turkish, Russian, Ukrainian, Japanese, Korean, Chinese)
  • ๐Ÿฆ Economy support โ€” Built-in BedrockEconomy integration, extensible via interface
  • ๐Ÿ’พ Dual storage โ€” YAML (default) or JSON for shop data

๐Ÿ“‹ Requirements

Dependency

PocketMine-MP
BedrockEconomy

๐Ÿ“ฅ Installation

  1. Download the Shoppu.phar
  2. Place it in your server's plugins/ folder
  3. Restart the server
  4. Edit plugin_data/Shoppu/shop.yml to set up your shop

๐ŸŽฎ Commands

CommandDescriptionPermission
/shopOpens the shop UIshoppu.command

โš™๏ธ Configuration

config.yml

lang: eng                          # Language code
prefix: "ยง7[ยง6Shoppuยง7] ยงr"       # Chat message prefix
storage: yaml                      # Storage type: yaml or json

economy:
  type: bedrockeconomy             # Economy provider

๐ŸŒ Supported Languages

CodeLanguageCodeLanguage
engEnglishitaItalian
fraFrenchdeuGerman
espSpanishporPortuguese
nldDutchsweSwedish
polPolishturTurkish
rusRussianukrUkrainian
jpnJapanesekorKorean
zhoChinese (Simplified)

Language files are in plugin_data/Shoppu/lang/. Edit them to customize any message.

๐Ÿช Creating a Shop

Shops are defined in plugin_data/Shoppu/shop.yml.

Structure

categories:
  <category_id>:                # Internal ID (lowercase, no spaces)
    name: "Display Name"        # Shown in the UI
    icon: "stone"               # Minecraft item/block for the button icon (optional)
    items:
      <item_id>:                # Minecraft item/block ID (e.g. stone, apple)
        buy: <price>            # Purchase price โ€” remove for sell-only
        sell: <price>           # Sell price โ€” remove for buy-only

Examples

Both buy and sell:

stone:
  buy: 10
  sell: 5

Buy-only (no sell price):

diamond:
  buy: 500

Sell-only (no buy price):

gravel:
  sell: 1

๐Ÿ–ผ๏ธ Category Icons

Each category can have an icon field pointing to a Minecraft item or block ID:

food:
  name: "Food"
  icon: "apple"          # Shows the apple texture on the button
  items:
    apple:
      buy: 20
      sell: 10

The plugin automatically resolves the correct texture path:

  • Blocks โ†’ textures/blocks/<id>
  • Items โ†’ textures/items/<id>

If no icon is set, the button appears without a texture.

๐Ÿ“ฆ Example Shop

Here's a complete shop with 6 categories covering building blocks, farming, food, ores, mob drops, and redstone components:

categories:
  building:
    name: "Building Blocks"
    icon: "stone"
    items:
      stone:
        buy: 10
        sell: 5
      oak_planks:
        buy: 8
        sell: 4
      glass:
        buy: 12
        sell: 6

  farming:
    name: "Farming"
    icon: "wheat"
    items:
      wheat:
        buy: 5
        sell: 2
      carrot:
        buy: 8
        sell: 4
      melon:
        buy: 10
        sell: 5

  food:
    name: "Food"
    icon: "apple"
    items:
      apple:
        buy: 20
        sell: 10
      bread:
        buy: 15
        sell: 7
      cooked_beef:
        buy: 30
        sell: 15
      golden_apple:
        buy: 200
        sell: 100

  ores:
    name: "Ores & Minerals"
    icon: "diamond"
    items:
      iron_ingot:
        buy: 50
        sell: 25
      diamond:
        buy: 500
        sell: 250
      netherite_ingot:
        buy: 2000
        sell: 1000

  mob_drops:
    name: "Mob Drops"
    icon: "bone"
    items:
      ender_pearl:
        buy: 200
        sell: 100
      blaze_rod:
        buy: 150
        sell: 75
      slime_ball:
        buy: 30
        sell: 15

  redstone:
    name: "Redstone & Tech"
    icon: "redstone"
    items:
      piston:
        buy: 40
        sell: 20
      hopper:
        buy: 70
        sell: 35
      rail:
        buy: 15
        sell: 7

Use any valid Minecraft item ID: stone, diamond, cooked_beef, iron_ingot, wheat, bone, etc.

๐Ÿฆ Economy

Supports BedrockEconomy out of the box.

Adding a Custom Economy

Create a class implementing Shoppu\economy\EconomyProvider:

namespace Shoppu\economy;

use pocketmine\player\Player;

interface EconomyProvider{
    public function getMoney(Player $player, callable $callback): void;
    public function addMoney(Player $player, float $amount, callable $callback): void;
    public function subtractMoney(Player $player, float $amount, callable $callback): void;
    public function getCurrencySymbol(): string;
}

Then register it in Main::createEconomyProvider() and set economy.type in config.yml.

๐ŸŒ Translating

Language files are in plugin_data/Shoppu/lang/. To add a new language:

  1. Copy eng.yml and rename it (e.g. ara.yml for Arabic)
  2. Translate the values (keep the keys unchanged)
  3. Set lang: ara in config.yml

Available placeholders: {player}, {item}, {price}, {quantity}, {total}, {name}, {category}.

๐Ÿ’พ Storage

TypeDescription
yamlHuman-readable YAML files (default)
jsonJSON format for shop data

Set storage in config.yml to switch.

โญ Contribute

  • Found a bug? Open an issue
  • Pull requests welcome
  • Star the repo if you like the project!

๐Ÿ“„ License

MIT

Installing it

Drop the phar into plugins/ and restart the server. If the API version below does not match your server, the plugin will refuse to load, which is the check working as intended.

Installing plugins

Releases

VersionAPIBuilt
1.0.05.0.09 Jul 2026 ยท 22 KB

SHA-256 of 1.0.02f186e6cc630bc4cfc59d24836a427217ba9280d5e74b5a2be0d060293436b94

Reviewed by a moderator before publishing. Built from Akari-my/Shoppu at 8adfd34869391303bca250a2d965a44944463658. Nobody reviews plugin code here: read the source before running it on a server you care about.

Comments

Sign in with GitHub to star this plugin or leave a comment.

No comments yet.