GUI Shop
A fabric server-side mod to create and manage GUI shops.
They can be later opened by using 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 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 | /guishop |
automessage.main |
Create a shop | /guishop create <shopName> |
automessage.create |
Delete a shop | /guishop delete <shopName> |
automessage.delete |
Add an item in a shop | /guishop additem <shopName> <itemMaterial> <buyPrice> <sellPrice> <description> <nbt> <quantities> |
automessage.additem |
Remove an item from a shop | /guishop removeitem <shopName> <itemName> |
automessage.removeitem |
Open a shop for a player | /guishop open <shopName> <playerName> |
automessage.open |
List all shops | /guishop list |
automessage.list |
List all items in a shop | /guishop list <shopName> |
automessage.list |
Force save config | /guishop forcesave |
automessage.forcesave |
Reload config file | /automessage reload |
automessage.reload |
Commands examples
Create a shop: /guishop create "Test shop"
"
Add item in a shop: /guishop additem "Diamond" "minecraft:diamond" 250.00 100.00 "This is a Diamond\\An expensive diamond\\Shiny" "{}" "1:10:32:64"
(you can split each description line by using "\\", and you can input up to 4 quantities splitted by ":")
Remove item from shop: /guishop removeitem "Test shop" "Diamond"
Open a shop and show it to a specific player: /guishop open "Test shop" "Steve"
Configuration
You can find the config file in ./config/guishop.json
Both items' names and descriptions support Simplified Text Format.
You can even add items from the JSON file (check JSON Example). This can be useful when your additem
command would be very long, or to easily set a NBT (remember to reload the mod using /guishop reload
after editing the config file)
JSON example
{
"shops": [
{
"shopName": "Shop number one",
"items": [
{
"name": "The boat",
"material": "minecraft:acacia_chest_boat",
"description": [
"This is a nice boat",
"Very beautiful"
],
"buyPrice": 50.0,
"sellPrice": 25.0,
"nbt": "{}",
"quantityList": [
1
]
},
{
"name": "BBQ Sword",
"material": "minecraft:diamond_sword",
"description": [],
"buyPrice": 0.0,
"sellPrice": 0.0,
"nbt": "{Damage:0,Enchantments:[{id:\"fire_aspect\",lvl:2},{id:\"sweeping\",lvl:2}],display:{Lore:['[{\"text\":\"Crispy and tasty\",\"italic\":false}]'],Name:'[{\"text\":\"The BBQ\",\"italic\":false}]'}}",
"quantityList": [
1
]
},
{
"name": "Amethyst",
"material": "minecraft:large_amethyst_bud",
"description": [
"<red>Such a spectacular</red>",
"<purple>amethyst</purple>",
"<rainbow>SHINY</rainbow>"
],
"buyPrice": 200.0,
"sellPrice": 100.0,
"nbt": "{}",
"quantityList": [
1,
40,
64
]
}
]
},
{
"shopName": "A second shop",
"items": []
}
]
}
Supported Economies:
Showcase
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+