GUI Shop by Rickiewars

Quick rating

GUI Shop by Rickiewars

No reviews yet

GuiShop is a Fabric server-side mod to create and manage GUI shops in Minecraft. It comes with its own economy but also integrates seamlessly with other economy providers. GuiShop is based on the works of UnsafeDodo, adapted and extended to fit my needs.

Economy & Trade Systems
Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Where It Runs
Server Only

Runs entirely on the server. Also works in singleplayer.

About

Project Details

Type
Mod
License
MIT License
Latest Version
2.0.0+1.21.11
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

GUI Shop

GuiShop is a Fabric server-side mod to create and manage GUI shops in Minecraft. It comes with its own economy but also integrates seamlessly with other economy providers. GuiShop is based on the works of UnsafeDodo, adapted and extended to fit my needs.

Features

Support for multiple shops Support for multiple shops

Sell as many items you want Replace this with a description

Shop view supports pagination Replace this with a description

Support for multiple balances Replace this with a description

Buy and sell one or multiple items at once Replace this with a description

Bought items appear in your cursor Replace this with a description

Other notable features:

  • Drag and drop any items from your inventory to the shop. If it can be sold, it will be sold.
  • Shop items support item components (enchantments, custom names, custom model data, etc.).
    • Note: Selling (inventory -> shop) items with enchantments is not supported yet.
    • Supports multiple currencies, each item can be configured to use a different currency.
    • Supports any economy mod that implements the Common Economy API.
    • Has its own built-in economy provider that can be configured with multiple currencies and accounts.
      • These currencies can be used by other mods that use the Common Economy API.
      • Has commands to manage balances (view, send, add, remove).
      • Can simulate any real-life currency by configuring prefix, suffix, decimal places and an icon.
    • Shops can be opened through commands, allowing integration with NPC mods like Taterzens.
    • The mod supports LuckPerms for permissions.

Installation

Put the .jar file in the "mods" folder

(Requires Fabric API and (optionally) a supported Economy)

Commands and permissions

All commands can be used by admins (permission level 3) or by users/groups with the specific permission

Description Command Permission
Main command, opens shop selection menu /guishop guishop.main
Create a shop /guishop create <shopName> guishop.create
Delete a shop /guishop delete <shopName> guishop.delete
Add an item in a shop /guishop additem <shopName> <itemId> <buyPrice> <sellPrice> <currency> <description> guishop.additem
Remove an item from a shop /guishop removeitem <shopName> <itemName> guishop.removeitem
Open a shop for a player /guishop open <shopName> <playerName> guishop.open
List all shops /guishop list guishop.list
List all items in a shop /guishop list <shopName> guishop.list
Force save config /guishop forcesave guishop.forcesave
Reload config file /guishop reload guishop.reload
Show balance for all currencies /guishop balance guishop.balance
Show balance for a currency /guishop balance <currency> guishop.balance
Send your money to another player /guishop balance <currency> send <playerName> <amount> guishop.balance.send
Increase a player's balance /guishop balance <currency> add <playerName> <amount> guishop.balance.add
Decrease a player's balance /guishop balance <currency> remove <playerName> <amount> guishop.balance.remove

Commands examples

Create a shop: /guishop create "Test shop""

Add item in a shop: /guishop additem "Diamond" minecraft:diamond[minecraft:enchantment_glint_override=true,minecraft:custom_name=hello] 250 100 guishop:credit "This is a Diamond\\An expensive diamond\\Shiny" (you can split each description line by using "\\")

Item components are supported in the same way as in the /give command. You can use an item generator like mcstacker or the one from Gamergeeks to generate items with components like enchantments, custom names, etc. In-game, you'll also get suggestions for item components.

The buy and sell prices are without any formatting so say you configured 2 decimal places in your config and you want to sell an item for 1.50, you would use 150 as the sell price.

Remove item from shop: /guishop removeitem "Test shop" "Diamond"

Open a shop and show it to a specific player: /guishop open "Test shop" "Steve"

You can also add items only to be bought or sold in a shop. Items with a buy price of -1 can only be sold and items with a sell price of -1 can only be bought.

Economy configuration

Guishop has a built-in optional economy provider that can be configured in the ./config/guishopeconomy.json file.

Economy provider configuration example

{
  "disabled": false,
  "database": {
    "type": "sqlite",
    "currency": "./config/guishop.sqlite"
  },
  "economy": {
    "currencies": {
      "credit": {
        "name": "Credits",
        "prefix": "$",
        "suffix": "",
        "decimalPlaces": 2,
        "icon": "minecraft:diamond"
      }
    },
    "accounts": {
      "account": {
        "name": "Account",
        "currency": "credit",
        "icon": "minecraft:diamond"
      }
    }
  },
  "command": {
    "disabled": false,
    "alias": ""
  }
}

Guishop configuration

You can find the main config file in ./config/guishop.json.

In economyProviders you can specify the economy provider you want to use. This can be an external economy mod that uses the Common Economy API or the built-in economy provider configured in guishopeconomy.json. The object is a mapping usually mod_id:currency_id to a list of account_id's. To use the build-in economy provider, prefix your configured currency with guishop:.

In shops you can define your shops and their items. Both the items' names and descriptions support Simplified Text Format. You can both use the config file and in-game commands to add items to the shop.

Just remember to:

  • reload the mod using /guishop reload after editing the config file,
  • save the in-game changes using /guishop forcesave to reflect them in the config file.
  • not to work in both the config file and in-game at the same time.
    • If the in-game changes are saved, they will overwrite any changes made to the config file.
    • If the config file is reloaded, it will overwrite any in-game changes.
    • Be careful when making large-scale changes to the config file while the server is running as the mod will automatically save in-game changes every 30 minutes.

JSON example

{
  "economyProviders": {
    "guishop:credit": [
      "account"
    ]
  },
  "shops": [
    {
      "shopName": "Shop number one",
      "items": [
        {
          "name": "The boat",
          "itemId": "minecraft:acacia_chest_boat",
          "description": [
            "This is a nice boat",
            "Very beautiful"
          ],
          "buyPrice": 50,
          "sellPrice": 25,
          "currency": "guishop:credit",
          "componentChanges": {}
        },
        {
          "name": "Free BBQ Sword",
          "itemId": "minecraft:diamond_sword",
          "description": [],
          "buyPrice": 0,
          "sellPrice": -1,
          "currency": "guishop:credit",
          "components": {
            "minecraft:enchantment_glint_override": true,
            "minecraft:custom_name": "\"hello\""
          }
        },
        {
          "name": "Amethyst",
          "itemId": "minecraft:large_amethyst_bud",
          "description": [
            "<red>Such a spectacular</red>",
            "<purple>amethyst</purple>",
            "<rainbow>SHINY</rainbow>"
          ],
          "buyPrice": 200,
          "sellPrice": 100,
          "currency": "guishop:credit",
          "components": {}
        }
      ]
    },
    {
      "shopName": "A second shop",
      "items": []
    }
  ]
}

Supported Economies:

From 1.4.5 and onwards, the mod supports any (combination of) economy mod that uses the Common Economy API. A great example is Common Bridge, which bridges multiple economy plugins to use the Common Economy API.

GuiShop also comes with its own economy provider which can be configured in the config file. This build-in economy provider can be configured with multiple currencies and accounts. (The multi-account per currency functionality has not been properly implemented yet.)

Screenshots

Gallery

  • Support for multiple shops
    Support for multiple shops Run the command /guishop to open this menu to select the shop you want to browse in. Click on a shop to open it.
  • Sell as many items you want
    Sell as many items you want Add diamonds, books or any enchanted item.
  • Support for multiple balances
    Support for multiple balances Some items in a shop may be sold using a different currency. The currency slot shows the balance of every currency which is used by the items in this shop.
  • Shop view supports pagination
    Shop view supports pagination One shop can have an infinite amount of items. When the items don't fit on one page anymore, pagination is there to save the day. The compasses point to the direction you're switching pages to and the paper shows what page you are currently on.
  • Buy and sell one or multiple items at once
    Buy and sell one or multiple items at once Left click to buy 1 or hold shift to buy an entire stack. Right click to sell 1 item or hold shift to sell an entire stack. You can only buy as much as you can hold though so remember to put that stack in your inventory!
  • Bought items appear in your cursor
    Bought items appear in your cursor Click on an item and that item will be bought and copied to your cursor. Click again and another copy will be bought. Shift click to fill the cursor to the maximum stack size (if you can afford it). It's quite similair to the behavior of a creative menu.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~4,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works