You can support me through- https://ko-fi.com/knightmare61825
Knightmare's Shop is a server-side economy and shop mod for Forge 1.20.1 (since there were no easy shop mods for forge 1.20.1). It adds a configurable GUI shop with categories, persistent player balances, buy/sell support, bulk selling commands, player-to-player balance transfers, and built-in admin tools for editing the shop live without restarting the server. The mod is designed so normal players can use the shop immediately, while admins can manage categories, prices, items, and stack amounts from commands or a simple in-game editor.
Features
- GUI-based shop with categories
- Persistent player balances
- Buy and sell support
- Bulk inventory selling
- Sell specific items by command
- Transfer money between players
- Live admin editing of shop data
- Admin GUI editor
- JSON-based config stored server-side
Installation
- Install Forge 1.20.1.
- Put the mod jar in the mods folder.
- Start the game or server once.
- The mod will generate its config file at: "config/shopmod/shop.json" That file is the main shop definition used by the mod.
Shop Config
The shop is defined in: config/shopmod/shop.json This file contains:
- shop title
- currency symbol
- starting balance
- categories
- items inside each category
- buy/sell prices
- stack amount per transaction
Example item entry: { "item": "minecraft:diamond", "buy": 52.5, "sell": 13.13, "amount": 1 } Example category entry: { "id": "ores", "title": "Ores", "icon": "minecraft:diamond", "items": [ { "item": "minecraft:diamond", "buy": 52.5, "sell": 13.13, "amount": 1 } ] } After editing the file manually, reload it with: /shopadmin reload How Players Use the Mod Open the Shop /shop Opens the main shop menu. /shop <category> Opens a specific category directly. Example: /shop ores
Shop GUI Controls
Inside a category menu:
- Left click on an item: buy one configured unit
- Shift + Left click: buy a stack-sized amount
- Right click: sell one configured unit
- Shift + Right click: sell all matching items for that entry
Bottom bar buttons:
- page navigation
- back button
- balance display
- sell inventory button
Balance Commands: Check Your Balance /balance or /shop balance Shows your current balance.
Check Another Player's Balance /shop balance <player> Balance Transfer: Players can send money to another player. /balance transfer <player_name> <amount> Example: /balance transfer Steve 250
Rules:
- amount must be greater than 0
- you must have enough money
- you cannot transfer money to yourself
- target player must be online
Sell Commands Sell Everything Sellable in Inventory: /sellall Sells all items in your inventory that exist in the shop and have a valid sell price.
Sell All Copies of the Held Item: /sellall hand Sells every matching copy of the item currently in your main hand from your inventory.
Sell a Specific Item by Name and Quantity: /sell <item_name> <quantity> Rules:
- item must exist in the shop
- item must have a sell price
- you must have that quantity in your inventory
- quantity must match the shop entry rules
- if an item is configured with amount > 1, quantity must be a multiple of that amount
Admin Commands
These require permission level 2 or operator access.
Reload Shop Config: /shopadmin reload Reloads shop.json from disk.
Admin Balance Commands
- Set a Player Balance: /shopadmin balance set <player> <amount>
- Add to a Player Balance: /shopadmin balance add <player> <amount>
Admin Category Commands
- Create a Category: /shopadmin category create <id> <title> Example:/shopadmin category create farming Farming
- Remove a Category: /shopadmin category remove <id> Example: /shopadmin category remove farming
- Rename a Category Title: /shopadmin category title <id> <title> Example: /shopadmin category title farming Crop and Farm Goods
- Set a Category Icon- Hold the item you want to use as the icon, then run:
- /shopadmin category icon <id> Example:/shopadmin category icon farming
Admin Item Commands These commands use the item in the admin’s main hand unless otherwise stated.
- Add Held Item to a Category: /shopadmin item add <category> <buy> [sell] [amount]
Meaning:
- buy = buy price
- sell = sell price, optional
- amount = transaction unit size, optional If sell is omitted, it stays disabled. If amount is omitted, it defaults to 1.
Remove Held Item From a Category: /shopadmin item remove <category>
- Set Buy Price for Held Item: /shopadmin item setbuy <category> <price>
- To disable buying: /shopadmin item setbuy ores -1
- Set Sell Price for Held Item: /shopadmin item setsell <category> <price>
- To disable selling: /shopadmin item setsell ores -1
- Set Both Buy and Sell Prices: /shopadmin item setboth <category> <buy> <sell>
- Set Transaction Amount for Held Item: /shopadmin item setamount <category> <amount> Example:/shopadmin item setamount ores 16 This means that item is bought/sold in groups of 16.
Admin Listing Commands
- List Items in a Category: /shopadmin list <category> Shows the category’s items, prices, and amounts in chat.
Admin GUI Editor
- Open Category List Editor: /shopadmin edit Opens the admin category browser.
- Open a Specific Category Editor: /shopadmin edit <category>
How the Admin GUI Works Category List Screen: Shows all categories. Click one to edit it.
Category Editor: Inside a category editor you can:
- browse configured items
- click an item to open its editor
- add the item in your hand
- set the category icon using the item in your hand
Item Editor Inside the item editor you can:
- set buy price
- set sell price
- set transaction amount
- disable buying
- disable selling
- remove the item
Some edits use chat input:
- when prompted, type the new value in chat
- type cancel to abort the prompt
Every successful edit is written back to: config/shopmod/shop.json No restart is needed.
Price Rules
- buy = -1 means players cannot buy the item
- sell = -1 means players cannot sell the item
- both buy and sell cannot be disabled if you want the item to matter in the shop
- amount must be at least 1
- Example: amount: 16 sell: 8.0 This means selling one unit sells 16 items for $8.00.
Player Balance Behavior
- balances are persistent
- new players start with the configured starting balance
- balances are stored server-side
- balance changes from shop activity and transfers happen immediately
Typical Server Workflow For Players:
- Run /shop
- Browse a category
- Buy or sell items
- Use /sellall for bulk selling
- Use /balance transfer <player> <amount> to send money For Admins:
- Run /shopadmin edit
- Open a category
- Add a held item
- Set buy/sell prices
- Set transaction amount
- Test with /shop
- Use /shopadmin reload only if the file was edited outside the game
Full Command List
Player Commands:
- /shop
- /shop <category>
- /shop balance
- /balance
- /balance transfer <player> <amount>
- /sellall
- /sellall hand
- /sell <item_name> <quantity>
Admin Commands
- /shopadmin reload
- /shopadmin balance set <player> <amount>
- /shopadmin balance add <player> <amount>
- /shopadmin category create <id> <title>
- /shopadmin category remove <id>
- /shopadmin category title <id> <title>
- /shopadmin category icon <id>
- /shopadmin item add <category> <buy> [sell] [amount]
- /shopadmin item remove <category>
- /shopadmin item setbuy <category> <price>
- /shopadmin item setsell <category> <price>
- /shopadmin item setboth <category> <buy> <sell>
- /shopadmin item setamount <category> <amount>
- /shopadmin list <category>
- /shopadmin edit
- /shopadmin edit <category>
Notes
- Item names in commands should generally use Minecraft ids like minecraft:diamond or plain ids like diamond
- The item must exist in the configured shop to be sellable
- The mod is server-side in behavior, with the shop data controlled by the server config
- Admin GUI edits and command edits both modify the same shop.json
You can support me through- https://ko-fi.com/knightmare61825