Haberdashery (ShopGUI)
A ShopGUI+ alternative for Fabric Servers
Haberdashery (the name for a sewing/fabric supply store in the UK) is a Fabric Shop GUI Mod. It's a pun.
Haberdashery supports multiple Impactor currencies, item currencies, infinite shops, buying & selling products to shops, and multiple types of products:
Commands (for purchasing things like claim blocks, or integrating with 3rd party mods)
Items (traditional ShopGUI+ - you define an item & a sell/buy price)
The goal for Haberdashery is to support ShopGUI+ config files as well, so you can start off with the many available ShopGUI+ templates for survival servers.
Haberdashery will also come with Cobblemon NPCs templates, so you can quickly setup NPCs without any configuration or datapacks needed! It already includes an Entity Shop mode, that lets you set any entity (Pig, Cow, NPC, Pokemon) as a Shop Keeper - when a player right clicks it, that shop's menu opens.
Shop access
Players can open shops in three ways:
/shopto open the main shops menu/shop <shop>to open a specific shop by IDRight-click an entity bound with
/setupShopEntity <shop>
Haberdashery Config
All runtime data lives under /config/Haberdashery:
config/Haberdashery/Shops/*.json- shop definitions (ablocks.jsonexample is copied on first run)config/Haberdashery/GUI/Menus/*.json- GUI layouts (default_shop.jsonandshops_menu.jsonare copied by default)config/Haberdashery/GUI/item_definitions.json- shared GUI item definitionsconfig/Haberdashery/messages.json- messages and lore textconfig/Haberdashery/config.json- mod config (includingdefaultCurrencyanddefaultShopGui)config/Haberdashery/shop_entities.json- entity UUID to shop ID bindingsconfig/Haberdashery/Shops/PlayerAccounts/*.json- per-player purchase limits
GUI menus
Menu layouts live in config/Haberdashery/GUI/Menus and are identified by their id:
default_shopis used for individual shops unless overridden byguishops_menuis used by/shop(which lists all shops)
Both menus use the paginated X element:
Shop list menus inject all shops into the
XelementShop menus inject all products into the
Xelement
Messages and lore
Messages and lore lines are configured in config/Haberdashery/messages.json.
Last updated