Shoppu

Shoppu

por poggit-archive
No disponible
VariosEconomíapocketmine
5visitas
0descargas

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

  • Download the Shoppu.phar

  • Place it in your server's plugins/ folder

  • Restart the server

  • Edit plugin_data/Shoppu/shop.yml to set up your shop

🎮 Commands

Command Description Permission

/shop Opens the shop UI shoppu.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

Code Language

Code Language

eng English

ita Italian

fra French

deu German

esp Spanish

por Portuguese

nld Dutch

swe Swedish

pol Polish

tur Turkish

rus Russian

ukr Ukrainian

jpn Japanese

kor Korean

zho Chinese (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: # Purchase price — remove for sell-only sell: # 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/

Items → textures/items/

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,callableplayer, callable callback): void; public function addMoney(Player player,floatplayer, float amount, callable callback):void;publicfunctionsubtractMoney(Playercallback): void; public function subtractMoney(Player player, float amount,callableamount, 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:

  • Copy eng.yml and rename it (e.g. ara.yml for Arabic)

  • Translate the values (keep the keys unchanged)

  • Set lang: ara in config.yml

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

💾 Storage

Type Description

yaml Human-readable YAML files (default)

json JSON 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