Code Monkey home page Code Monkey logo

bukkit-fancyshop's Introduction

FancyShop

Create chest shops that trade in physical currencies.

Features

  • Create chest shops with a graphical interface.
  • Use in-game items as currency.
  • Buy and sell any item - enchanted items and books, potions, even items with lore or custom NBT data.
  • Buy and sell up to 27 different items in a single shop.
  • Shops are protected against damage and against stealing with hoppers.

Why another shop plugin?

I'm not a fan of economy plugins. While they might make things simpler on large servers, they don't seem very Minecraft-y to me. They add a layer of abstraction that I feel takes away from the survival aspects. However, I like having shops - they give players more choice where to spend their time. If you don't want to spend time mining cobble or building a big farm, you can buy them from someone who does. So I wanted a shop plugin that can use in-game valuables rather than creating an artificial currency.

Why not use GoldIsMoney, Gringotts, etc.?

Because I don't want to inflate any one item (gold, emeralds, diamonds, etc.) by making it the sole currency. On my small whitelisted server, I don't need world protection or other plugins that need Vault compatibility.

Why not use PhysicalShop?

I have been for a while, but PhysicalShop can't handle enchanted items, dyed armor, heads, custom potions, or other complex items, and it can't sell different types of items from the same chest. In addition, the sign-based interface can be a bit tricky - item names on the server don't always match the displayed names on the client, and dealing with data values is annoying.

Commands

/fancyshop: Create and manage shops. (Aliases: /fs, /shop) /fancyshop create - Create a new shop. /fancyshop remove - Remove a shop.

Permissions

fancyshop.create:
    description: Create a shop.
    default: true
fancyshop.use:
    description: Use other people's shops.
    default: true
fancyshop.remove:
    description: Remove someone else's shop (you can always remove your own)
    default: op
fancyshop.open:
    description: Open chests for other people's shops.
    default: op

GitHub

https://github.com/DeltaWhy/bukkit-fancyshop

bukkit-fancyshop's People

Contributors

deltawhy avatar mibac138 avatar webrsb avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bukkit-fancyshop's Issues

Shop can't buy items owner doesn't already have

As a shop owner, I want to be able to buy enchanted books and tools, wither heads, and other valuable items, even if I don't have one handy.

Not sure if this is in scope or would be better served by a different sort of plugin. Describing an item via text is difficult.

Prevent creating shop on someone else's chest

Currently anyone can create a shop on any chest, and then access its inventory. This is obviously pretty bad.

Possible way to check permissions - use event priority MONITOR and check that no one else has cancelled the event. Need to test with Lockette, LWC, Grief Prevention, etc.

Set price via command

As a poor shop owner, I want to sell an item for 5 diamonds but I only have 1.

Much easier than #3 since currency is restricted to simple items but the UI is still tricky.

Can remove only 1 deal per remove mode enter

Don't know, is it on the newest version, but on version 0.4, it occurs. I can guess it's because of the fire - when I click item (ex. iron) with fire, on my cursor is iron (should be still fire).

FancyShop - 1.12

This plugin is not compatible from version 1.12 onwards. Please update.

Stealing player's goods

Oh, I found a big bug. Sort of. I use GriefPrevention so players can't open each others chests without permission, but if I do /fancyshop create on a chest I normally couldn't open then look in the shop's inventory I can steal everything a player has, then just remove the shop and they won't know who stole their goods. When you create a shop the player should be able to open the shop first before it is counted as a successful shop build, or better yet, you should add a sign method of making the shops. So if a player can build onto the chest it will count as a successfully created shop. But the sign could be later deleted for it to count as a successful shop. It's just upon first creation of a shop that would be the issue. Another way to make stealing players chests not possible would be to have a recently placed chest rule. So the player would have had to recently place a chest in order for shop creation to be possible.

Not detecting overflow

For some reason the "no room" check for buying and selling only works every other time.

Items that have been repaired don't work after reload

I tried to sell a chain helmet that I had repaired to full durability. When adding the deal it seemed to be fine, but after reloading it shows as "out of stock" even though there is one in the chest. It seems Bukkit doesn't serialize the full data of the item.

Admin shops

Add a way to create unlimited (admin) shops.

Admin Shop Features

There should be a way to turn off shop management for OPs.

For example this is what happens now:

Server OP creates an Admin Fancy Shop while in Creative Mode, but still wants to be able to buy/sell to while in Survival mode. (Just because you're OP doesn't mean you want to be unfair to your players). But when OP tries to access Admin Fancy Shop as a player, shop is still in the "Manage Shop" Mode.

Fix:
When in Survival Mode an OP defaults as a normal player, or since Admin Shops have unlimited resources the Access Shop Inventory button could be changed to a "Test Shop" or "Finalize Admin Shop" button. That way OP can still use Admin Fancy Shops like normal players using and Admin Shop.

Customize currencies

As a server admin, I want to restrict shops to a certain set of currencies.
As a server admin, I want to allow some currencies with data values (such as lapis dust)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.