Shopkeepers
No funciona (falla al cargar) — ErrorException: "Attempt to read property "tag_name" on null" (EXCEPTION) in "plugins/Shopkeepers_1.3.0.phar/src/FoxWorn3365/Shopkeepers/utils/Utils" at line 203 · Probado en PocketMine-MP 5.50.0 (PHP 8.4.27).
Add Shopkeepers to your PocketMine-MP world! Allow the creation of simple barter stores between players or create adminshops!
Shopkeepers stats by pmmpStats
⚠️ We are not in any way related to the Shopkeepers plugin for Bukkit!
⚠️ This plugin collect some data for pmmpStats. Read more (and how to disable) here!
Follow me on Twitter to remain updated!
Note You can find the Shopkeepers version for PocketMine-MP 4 at this link but is the v1.0 and not the latest version becase PMMP4 is deprecated.
Introduction video
Watch the video on YouTube
📰 Features
-
Players can create their own Shopkeepers and manage it
-
Admin Shopkeepers
-
Vanilla trade page
-
Shopkeeper inventory for non-admin Shopkeepers
-
Hit prevention for shopkeepers
-
Easy configuration with in-game GUI
-
Double trade supported
-
Custom skin support
-
Plugin APIs
Compatibility
Warning As of v1.2 we no longer support PocketMine-MP 4, this however does not mean that we will remove v1.0 for PMMP4, in fact it will always remain available here on GitHub at this branch!
Configuration
The configuration of Shopkeepers allows you to customize some values to make it suitable for all servers.
Name Type Default Description
enabled bool true Is the plugin enabled?
max-entities-for-player int 3 Max shopkeeper's entities for one player (PER SHOP)
max-entities-bypass array [] Player that can bypass this limitation
banned-shop-names array [] List of banned names
banned-item-names array [] List of banned items (can't be sold)
banned-item-ids array [] List of banned item ids (can't be sold)
enable-remote-trade🛈
bool false Allow player to use the /sk trade command
enable-pmmpstats-datashare bool true Allow the server to share some data with pmmpStats
enable-version-checker bool true Allow the server to check the plugin version
Commands
The base command is /shopkeepers but you can also use /sk, /skeepers and /shopk as aliases. Here a list of all commands that you can use:
Command Args Description
info none Show the plugin's informations
info SHOP NAME Show the shop configuration page
edit SHOP NAME Edit the shop recepies
create SHOP NAME / NULL Create a new shop, if the name is leaved empty will be generated
summon SHOP NAME Summon a Shopkeeper entity (as a Villager) for your Shop
rename SHOP NAME and NEW NAME [NOT AVAILABLE] Rename a current shop
list none Show all of your shops
history SHOP NAME and PAGE Show the trade history for the shopkeeper
trade SHOP AUTHOR NAME and SHOP NAME Remotely trade with a shopkeeper
🔸 pmmpStats implementation
This plugin makes use of pmmpStats to create and process plugin statistics, which then includes a continuous sending of the following information to the service servers:
-
Server IP and port
-
Server OS version
-
Server PHP version
-
Server cores
-
Server PocketMine-MP version
-
Server version (minecraft)
-
Online players
-
Server Xbox auth status
The Terms of Service of pmmpStats are available here, instead the privacy polici is at this link.
You can disable information sharing with pmmpStats by setting the enable-pmmpstats-datashare value to false, by default (so even if the value is not present) it is enabled.
Shopkeepers Skin System (SSS)
Yes, the v1.0 brought an epic function: now you can set a skin of a Shopkeeper.
Unfortunately players can't add a skin of a Shopkeeper for multiple reasons:
-
Memory
-
Memory
-
Memory
-
Hmm, Memory?
Anyways, to avoid abuse of this system we have made this feature usable only by the server administrator.
How to add a skin of a Shopkeeper
You should have seen something new in the Shopkeepers folder, the skins folder, and that is where all the skins should be put.
Warning
Skins MUST BE in a .png file!
The file name should be composed as follows:
I don't want to select skins
Well, if no skin is provided the classic villager is spawned. yeee
F.A.Q.
How to create an Admin shop
There is not really an Admin shop but you can activate this function by using the command /sk info
How to see a Shopkeeper's inventory
There are two ways:
-
Use the command /sk info
and then click on the chest! -
Click on the Shopkeeper (Villager) entity and then click on the chest!
I want to access to the Shopkeeper's trade page but if i click the entity i access the shopkeeper's info page!
Easy: shift and click on the Shopkeeper
How to despawn a Shopkeeper
More easy: just hit it, it will die in only one hit!
I have ClearLag and it removes the Shopkeepers entites!
Edit the config of ClearLag changing to false this option.
How can I change the skin of a Shopkeeper
We actually support a Skin System, please see here!
OMG I CAN'T ACCESS TO THE INVENTORYM uyigqwieduwefibef
If the Shopkeeper is an Admin Shop it does not have an inventory!
Maximum level of customization: program the plugin!
The v1.2 implements an incredible customization system: 🎉__programming!__🎉
So, from now you can handle some Shopkeeper event! but how?
Simple, you can code inside the config with the new parser YAMLPower!
Feel free to contact me with no problem for any questions, I'll respond within a day!
Permissions
permissions:
shopkeepers.base:
description: "Allows users to use the base command"
default: true
shopkeepers.shop.summon:
description: "Allows users to summon player's shop"
default: true
shopkeepers.shop.create:
description: "Allow users to create a shop"
default: true
shopkeepers.shop.edit:
description: "Allow users to edit they'r shop"
default: true
shopkeepers.shop.list:
description: "Allow users to see a list of their shops"
default: true
shopkeepers.shop.remove:
description: "Allow users to despawn they'r Villager shops"
default: true
shopkeepers.shop.rename:
descritpion: "Allow users to rename they'r shops"
default: true
shopkeepers.shop.namevisible:
description: "Allow users to decide if the shopkepeer's name should be visible or no"
default: true
shopkeepers.shop.history:
description: "Allow users to view the trade history of his Shopkeepers"
default: true
shopkeepers.shop.enableDisable:
description: "Allow users to enable and disable their own Shopkeepers from the menu"
default: true
shopkeepers.shop.admin:
description: "Allows users to decide if the shopkeepers should be admin or none"
default: op
shopkeepers.shop.kill:
description: "Allow users to kill every shopkeepers, also of other players"
default: op
shopkeepers.shop.defaultGUI:
description: "Allow users to see and use the /sk command without args to open the base GUI"
default: true
shopkeepers.shop.use:
description: "Allow users to use a shopkeeper when they touch it"
default: true
shopkeepers.shop.allowRemoteInventoryOpen:
description: "Allow users to open a shopkeeper's inventory with the command /sk inventory"
default: op
shopkeepers.shop.allowRemoteTrade:
description: "Allow users to remotely trade with a shopkeeper with the command /sk trade
Special thanks
Thanks to Muqsit for the InvMenu virion who have contributed to the creation for this plugin!
Also this plugin helped me!
Contacts
You can contact me via:
-
Discord: @foxworn
-
Email: [email protected]