PlayerShopsRPG - A region-based player shop plugin

This is a discussion topic for the Ore project, PlayerShopsRPG. View the full project on Ore for downloads and more information.


PlayerShopsRPG - Region-based Player Shops

PlayerShopsRPG is a region-based player shop plugin, similar to the now-gone Bukkit plugin Command Shops. Unlike it’s predecessor however, PlayerShopsRPG fully supports customized items, including enchantments and lore. In addition, the amount of commands required to interface with shops is kept to a minimum, instead most actions are performed by clicking on links in chat. Shop types can also be specified to constrain the buying and selling of items to shops of a certain type.

Rational

As the name implies PlayerShopsRPG is designed to be used with rpg-type servers where the clutter of physical shop objects (signs/chests) may be undesirable. It was built as a compromise between the flexibility of command-based shops and the ease of use of GUI-based shops, relying primarily on clickable links in chat to perform most of it’s functions. It also allows server owners to create different types of shops, it doesn’t make much sense for a Blacksmith to sell cake, does it?

Features

  • Region-defined Player Shops!
  • Easy to use Chat Interface!
  • Ability to define Admin/Server Shops!
  • Ability to define different Shop Types (Ex: Blacksmith) that can only sell certain items!
  • Support for Shop Managers in addition to Owners!
  • Full Support for Custom Items (MetaData)!
  • Support for Multiple Currencies!
  • More!

QuickStart - How to create your first shop

  1. /shop select to select the region to create the shop
  2. /shop create My Wonderful QuickStart Shop to create a shop named My Wonderful QuickStart Shop
  3. Hold an item you want the shop to buy or sell in your hand and execute /shop item create
  4. To stock your created item hold it in your hand and execute /shop item add
  5. /shop browse to view the contents of your shop
  6. Click on Manager to access the management page
  7. Click on the first and second -- to set the sell and buy price respectively.
  8. Profit!

Dependencies

  • Since PlayerShopRPG deals with currencies it requires that your server be running some implementation of the Sponge Economy API.

Screenshots

Browse View:

Manager View: (Can change the prices of items and well as stock and unstock items)

Owner View: (Can rename the shop, change the owner, deposit/withdraw shop funds, add/remove managers, and destroy items)

Links

Disclaimer

PlayerShopsRPG is still under heavy development, there may be a few bugs here and there. If you find any be sure to create an issue!

Suggestions

If you have any feedback or suggestions for PlayerShopsRPG I’d love to hear them! Have a cool new idea for a click-action? Want a new feature added? Let me know! :grinning:

Support Me

I will never charge money for the use of my plugins, however they do require a significant amount of work to maintain and update. If you’d like to show your support and buy me a cup of tea sometime (I don’t drink that horrid coffee stuff :P) you can do so here

1 Like

Will you be doing a backport for the most recent fix?

Hi I like the idea

Yes, it is available on my Github since ore doesn’t seem to suport uploading API 4.x.x plugins. :slight_smile:

Hi, I pretty much like it too. Can you add some ingame screenshots ?

Odd, they were there before, should be fixed now :slight_smile:

Yup it is, thanks :slight_smile:

What is the behavior of GUI when people are talking ? Can it disappear ?

Currently yes, I’m toying with the idea of instead of displaying the shop interface in chat, display it inside a book to avoid that problem :smiley:

Is it possible to sell your CommandBooks? and in which form do i have to add items with different data values in the shop types? like the different colors of wool?

Is it possible for an admin to define where shops can be? Previously, we always had a “mall” area that players who wanted a shop could come and rent a shop space to use. We just launched a new SkyFactory3 server and as part of our Spawn area, I have built some shop spaces so players don’t have to jump between different islands to go shopping so I’d like to define set regions for players to use for their shops.

Previously we had done shops with AreaShop to handle the spaces and the ChestShop feature of Hyperconomy, I don’t mind having a different method than chest shops, but really would like to have a similar function as AreaShop had to define the regions if possible

@resqdiver1317 Shops Support renting, though this seems to be currently bugged.

@Leiha You should just be able to add CommandBooks or any other item with custom data attached just as you would any other item, I’m tracking down an issue that seems to prevent this from occurring in some cases.

I’ve been working on a massive update for this plugin, so expect these and other issues to be resolved soon. :smile:

I totally missed that. So (bugs aside), as an admin, I can use the shop create command to create it, then the shop set rent for the hourly rate, then someone else can come through and do /shop rent to rent the shop for the time they want? That sounds exactly like what I want :slight_smile:

I do have 2 questions,
1: With the shop creation, I know it says to set it as cuboid, how to I actually mark the section for each shop? Is that done with a WE selection?
2: When there rent expires, does it reset the shop space back to how it was before they rented it and place whatever inside it? I know Areashop would use a schematic of the shop space to reset it when it expired so I was curious if this would or not as well. If not, and someone else rents the space, will the old renters stuff be able to be removed by the new renter?

Yep, that’s exactly what it does.

If you haven’t yet done so, I recommend you check out the Quickstart Guide on the PlayerShopsRPG wiki page to familiarize yourself with the shop creation process. It uses a similar system to WE selection, though it has it’s own commands.

PlayerShopsRPG doesn’t have any sort of region protection/resetting functionality as I believe it’s out of scope for this plugin. However, I would like to eventually integrate PlayerShopsRPG with some of the region protection plugins out there, once @gravityfox is back to working on Foxguard we may look at allowing Foxguard regions to be used as shops :slight_smile:

1 Like

Ok, I loaded the mod and was able to select and create the shop, but when I try to do “/shop set rent 5” I do not get any type of response. Is it supposed to tell me that the rent was set?

I went outside the shop and ran the same command and it did tell me “You are not in a shop!” so I am assuming the command is working, but I wasn’t sure as it didn’t respond in the chat when I did the command in the shop. Tried to look in the files to see if I could find a record of where it stores the shop data so I could see if it worked or not but I wasn’t sure where it stores the data for them?

Ok, I did /shop browse and it says the shop is for rent for 5.00 coins/hr so it did work, it just concerned me that there was no feedback in the chat about it setting the rent. Would this feedback be something that could be added in a future release possibly?

Also, a couple ideas I had from looking at this now that I am in game with it.

  1. If the rent runs out on a shop, can new players remove the shop items the previous tenant had in the shop without picking them up? (I know the you said before there is not currently a feature to reset the shop space, but would like a player to be able to get rid of the previous renters stuff shop items without being able to pick them up for themselves). Also in regards to that, what happens to a shop’s balance if the rent runs out. (does the player have to come get the money out or does it automatically go to the player?)
  2. If someone uses /shop browse in a shop space that is available for rent, is it possible for the message where it shows how much the rent is, to also show the command they need to use to rent it?

So far, I really like this plugin. I do miss some of the features I had with AreaShop on our bukkit servers but overall, I think you have a great tool here!!

You don’t actually have to run the /shop set rent command, you can actually set it via the UI under the Owner Tab :smiley:

Currently not all of the commands have chat feedback attached to them, but it is something I intend to add.

  1. Currently, when the rent runs out on a shop all the the items/money in the shop’s account is left untouched. If someone else were to then rent the shop they would have access to remove the old items and withdraw the shops funds.

  2. No, I’ll just make a link they can click on that would run the command for them :stuck_out_tongue:

ouch. Yea, the having access to the items/funds will be an issue. I guess I’m gonna have to look for other options because I know our players won’t like that idea. I don’t mind players losing the items if they let their rent expire (risk of doing business), but losing the funds from it will bug them enough they will just sell stuff direct instead of using the shops. Is there any possibility that it could just deposit the funds each time a purchase is made into their account like many of the bukkit shop plugins do? I know some of the bukkit stuff would store it in the shop, but most that we tested on our other servers just worked directly with their balance via Vault. Since Sponge has it’s on economy connection now, maybe that is a possibility?

It’s a possibility, but in my opinion it’s actually safer for the shop to have its own economy account. That way the owner/renter of the shop can choose exactly how much funds they are willing to risk in the shop, rather than worrying about someone selling a whole bunch of stuff to them and having their account drained. What I can do however is add a config option that would allow the funds of a shop to be transferred to the renter when the rent expires. I’d also probably specify an option to clear the shop inventory on rent expiration as well. Transferring the items back to the renter is unlikely since there can be feasibly many more items in a shop than the renter’s inventory could hold.