(5.0.0 - 5.16.0) 0.7.1-beta (5.0.0 - 5.16.0) 0.8.2-pre (5.0.0 - 5.16.0) 0.9.1-pre (5.0.0 - 5.16.0) 1.0.0 (5.0.0 - 5.16.0) 1.3.0
303
Read more on poggit
Add Shopkeepers to your PocketMine-MP world! Allow the creation of simple barter stores between players or create adminshops!
Trying to get Shopkeepers for PocketMine-MP 4?
You can find the official version only on GitHub at this link
Shopkeepers is made to be multi-version, in fact I announce with great joy that the plugin is available for both PocketMine-MP 5 and PocketMine-MP 4!
Warning
The Shopkeepers version for PocketMine-MP 4 is available exclusively here on GitHub since InvMenu has versions that are not compatible with each other! The branch can be found here
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 | 5 | 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 |
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 |
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:
Anyways, to avoid abuse of this system we have made this feature usable only by the server administrator.
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: <PLAYER NAME>_<SHOP NAME>.png
, for example FoxWorn3365_Fox.png
is valid and will be used by the plugin.
Well, if no skin is provided the classic villager is spawned. yeee
There is not really an Admin shop but you can activate this function by using the command /sk info <SHOP NAME>
and then clicking on the Blaze Powder and then clicking on the red wool block that has "Admin shop" as its name
There are two ways:
/sk info <SHOP NAME>
and then click on the chest!Easy: shift and click on the Shopkeeper
More easy: just hit it, it will die in only one hit!
Edit the config of ClearLag changing to false
this option.
We actually support a Skin System, please read up.
If the Shopkeeper is an Admin Shop it does not have an inventory!
Reporting bugs to developers to the developer😢 is very important to ensure the stability of the plugin, so in order to better track and manage all reports it is incredibly necessary that they are reported via GitHub Issues.
Here is what to include in the reporting to make it perfect:
If it is not complete how do we know how it all happened?
plugin_data/Shopkeepers
folderThis way we can compare the error with those files to find a possible transcription error
It changes a lot from version to version, and this would help us a lot to understand where to look for
Knowing where you downloaded the plugin from might help, always better to know some information
Shopkeepers.phar
"Last wade", in case we can analyze the source
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.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
The plugin needs to save store data, and unlike other plugins, it uses .json files so they are more accessible to server owners, so here is the structure.
As a reminder, the plugin saves each player's data in separate files, so there will be a PlayerName.json
for each player that creates a shop.
Now, let's see the object:
{
"author":"<PlayerNAME>",
"enabled":true,
"admin":false,
"title":"<ShopNAME>",
"namevisible":false,
"history":base64EncodedHistoryOfTransactions,
"inventory":[],
"items":[
{
"buy":nbtSerializedItem,
"buy2":?nbtSerializedItem,
"sell":nbtSerializedItem
}
]
}
Name | Type | Description |
---|---|---|
author | string | The username of the shop author |
enabled | bool | Is the shop enabled? This option can be changed by the player in the menu config |
admin | bool | If the shop is an Admin shop, so you don't have to put items in the inventory and you won't earn anything |
title | string | The real name of the shop |
namevisible | bool | Should the shop name be visible when summoned? |
history | string | A base64 encoded string with all the transactions |
inventory | array | The inventory of the shop |
items | array | A list of all recepies (max 9) |
Thanks to Muqsit for the InvMenu virion who have contributed to the creation for this plugin!
Also this plugin helped me!
$this->trades->{PLAYER}
object because otherwise is OP!You can contact me via:
@foxworn
[email protected]