Simple Global GUI Market

Discussion in 'Plugin Requests' started by OfficerSalzig, Aug 7, 2019.

  1. Offline

    OfficerSalzig

    Plugin category: Shops

    Minecraft version: 1.14.4

    Suggested name: GlobalGUIMarket

    What I want:
    I'd like to be able to be anywhere in the world and open up a GUI where i can buy or sell items in exchange for other items (If possible. I dont like virtual currency (Maybe you can set one specific item in the config which is used for the currency)), which would be stored in an ender chest-like storage (so the items to be sold are stored somewhere and bought items are put somewhere to prevent overflowing inventories).
    The GUI would be the size of a single chest with some icons in the middle representing:
    - View Sell Listings
    - View Buy Listings
    - Create Listing
    - View your Listings
    - View your Market Inventory


    Now i will list where each icon will lead to if clicked:

    - View Sell Listings:
    Opens a double chest GUI where all listings are shown. A "go back" icon in the bottom row in the middle and icons (arrows?) to go to the previous/next page in the bottom corners. Listings can only fill up the page to the last two rows. The icons for the listings should be the item that is being sold. You can only sell up to a stack of the item (64 stone or 1 Boat, etc). If you hover over a listing, details like Owner, what/how many items he wants for the listing and maybe creation date will be shown.
    - View Buy Listings:
    Almost the same as the Sell Listings, except that the Item that the Owner is buying is being shown, together with the quantitiy.

    - Create Listings:
    Will open a single chest GUI with a "go back" icon in the bottom row and two icons in the middle left/right to represent a Buy and Sell Listings. Clicking either will bring you to another single chest where you can put in the Item (and quantity) you want to sell. After putting an Item in (or from the beginning), a new icon will appear and allow the user to proceed to the next page where you can put in the Item you want to recieve/sell (depending on what Listing you are creating). After this, the listing is created. All pages will feature a "go back" icon which will bring you back either one page or to the main menu. Unfinished/Invalid Listings will automatically be deleted.

    - View your Listings:
    Same as "View Sell/Buy Listings" but with four icons in the bottom row:
    - Previous page
    - Go back
    - Switch to Buy Listings (or if you are in those Listings: "Switch to Sell Listings")
    - Next page

    - View your Market Inventory:
    Opens a double chest GUI with a "Go back" in the bottom row.
    The user can fill all but the last two rows with Items for his listings.
    When the user creates a listings, the items needed for this listing will automatically be put into the Inventory.
    All "Item Earnings" from Listings will also be put into this chest.
    If Items which are required for an existing Listing are removed, the Listing with those Items will be deleted. If the user puts more Items for a (lets say Sell Listing) into it, the Listing can be bought multiple Times. If the stock for a listing runs out of Items, it will be deleted.
    If a user tries to interact with a Listing but the Owners market Inventory is full, the interaction will be denied and a simple message in the chat will tell the User that the Owner doesnt have enough space for it.
    If a users market Inventory is full, he will be alerted in chat (if offline, on the next join)


    Additional Info:
    Listings will expire after a custom amount of time set in the config time.
    Admins with permission can create Listings with Infinite Stock (only per command). These Listings are always shown first in the "View [Sell/Buy] Listings" GUI and do not expire.
    Also, maybe the Icons in the main Menu show a little Info if you hover over them like "This will let you create a Listing".

    Optional Features:
    An Item Blacklist. Items on it cannot be used during the creating of a listing.

    Ideas for commands:
    /market == opens the GUI
    /market create [sell/buy] {tab-able Item Name} {quantity} [buy/sell] {tab-able Item Name} {quantity} == This can be used if the user wants to buy an Item which he doesn't have and thus can't use the GUI creator. Example of this command:
    /market create buy minecraft:apple 5 sell minecaft:dirt 64
    This will create a Listing where the Creator is selling 64 Dirt and buying 5 Apples. 64 Dirt is needed for this Listing to be created, so an error message would appear if the Creator doesn't have this.
    /market admincreate [sell/buy] {tab-able Item Name} [buy/sell] {tab-able Item Name} == Creates a Listing with Infinite Stock
    /market adminview == opens GUI to show all Admin Listings

    Ideas for permissions: player.marketadmin. Set it to true so the player is allowed to remove other users Listings and create Listings with Infinite Stock. (Allows access to the two Admin commands)

    When I'd like it by:
    15th of August 2019


    If you have any Questions, please ask!
     
  2. Offline

    wand555

    Hey @OfficerSalzig
    This may only be me, but I have a hard time understanding everything as such. I think it would be much more clear (and easier to create) if you provide a screenshot where you have drawn in the locations of the items as well as an example maybe.

    Okay, follow up:
    I read through this whole thing multiple times now and I understand where each click should take you, etc.
    However, I don't get how buying/selling works. Let's say I create a sell-list with 64 dirt. Now what happens if a another player sees this list in the buy list and decides to "buy" it? No where did you specify what should actually be exchanged, you only said that you don't want a virtual currency. Moreover you said perhaps an custom set item can be used as currencies (which basically works like a virtual currency with the disadvantage of overloading your inventory space), but nowhere in your list-creation-cycle you explained where to set the cost of the list.

    [EDITED]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Aug 9, 2019
  3. Offline

    OfficerSalzig

    @wand555
    Sorry for describing it so weird.... First time requesting a plugin here..
    Anyway, when someone either
    - buys an item or
    - sells an item
    The items that you get are put into a virtual storage that can be opened with an icon in the market menu or a command. This storage is 3 rows big and contains the items that you get from listings as well as the items that a listing of yours needs.
    (If you create a Sell 64 Dirt listing then 64 Dirt get put from your inventory into this storage as to ensure that you dont delete the Dirt or similar (like how can other users buy the Dirt if you deleted it?))
    You can simply put any new items into this storage (and treat it as a backpack lol) or take out items inside. If you however take out items which belong to a listing of yours, this listing will automatically be deleted since the items required for it are no longer available.
    Hope this makes it somewhat clearer!
    Also, i failed to notice that Bukkit is not available for 1.14.4 yet so i will copy this Plugin Request the Spigot forum.
    I will still be answering your questions if needed here too.

    Edit: no place to request plugins is available on spigot, no copy of this thread exist over there
     
    Last edited: Aug 10, 2019
  4. Offline

    timtower Ninja on the waves Moderator

    @OfficerSalzig Spigot and Bukkit are made by the same team though.
    Please don't post on multiple sites.
     
  5. Offline

    wand555

    @OfficerSalzig Alright...
    I still don't get all the things you want.
    Overview (open)
    1.png

    Create Buy/Sell Listings (open)
    2.png

    Item you WANT (open)
    3.png

    Item you HAVE looks the same.
    Confirm (Look at everything) (open)
    4.png

    By clicking the green concrete you confirm the list.

    Now I followed exactly your steps and picture 2 is unneseccary, because you can swap around the items in the menus following.
    Please clear me up if I missunderstood something.

    EDIT: Thought about it again and came to the conclusion that when the system is trade-based and not (virtual) currency-based, everything you see is essentially "buying". "Selling" itself doesn't exist in this system. This was also the main reason why I didn't understand it.
     
    Last edited: Aug 9, 2019
  6. Offline

    OfficerSalzig

    @wand555
    These pictures are exactly what i had in mind! Obviously some other icons for the papers but even this looks good!
    Yes the buying and selling is confusing in that way. Technically you put up your items up for trade where you decide what you get for it. I thought saying it with the buying and selling would fit more but yea..... Sorry for any confusion.

    And yes, creating a Sell or a Buy Listing can be combined with the Items you want thingy, i really like it!

    I attached a world folder in which i placed down some chests and signs to clarify it a bit more, i used your designs for the Listing creation and i changed some icons for the main menu (Like a Chest Symbol to view all Listings and an Ender Chest to view your storage) These icons can still be changed or maybe even be freely changable in the config file later on?
     

    Attached Files:

    Last edited: Aug 10, 2019

Share This Page