Shopkeeper
⚒️ Shopkeeper
The Shopkeeper is a core game mechanic that allows players to purchase items during the preparation phase. It is a highly customizable system built on item categories and powerful configuration modules.
⭐ Features
Category-based Browsing: Items are organized into logical groups (Weapons, Potions, etc.).
Custom NPC: Configure the Shopkeeper's appearance, profession, and hologram text.
Upgrade Paths: Items can evolve through tiers using a shared ID system.
Module System: Highly customizable item behavior through specialized configuration modules.
Dynamic Availability: Items can be locked behind specific round numbers.
🔧 Shopkeeper Configuration
The main configuration for the Shopkeeper NPC and shop categories is located in plugins/ArenaLegends/gameplay/shopkeeper.yml.
NPC Settings
This section controls the appearance of the Shopkeeper entity.
General Settings
Global settings for the shop's behavior.
gold-cost
map
Defines the price for special item types like Anvils and Mythics.
discard-items
boolean
If true, items dropped near the shopkeeper are automatically removed.
hide-categories
list
A list of category IDs to hide from the main shop interface.
Category Builder
This is where you define the tabs (categories) that appear in the shop menu.
Each key under category-builder (e.g., WEAPONS) is a unique ID that you will use in individual item files to assign them to that category.
📂 Item Configuration
All purchasable items are defined as individual .yml files inside the plugins/ArenaLegends/items/ folder.
Each item file is built using modules, which define how the item behaves and appears in the shop. To make an item appear, you must assign it to a category defined in shopkeeper.yml.
Use the category key in an item's purchase module to assign it to a tab in the shop.
🧩 Item Modules
Modules are the building blocks of an item. You can mix and match them to create unique gear.
💰 Purchase Module
Defines how much an item costs and when it becomes available.
gold-cost
integer
Price in gold.
round-unlock
integer
Minimum round number required to purchase.
consumable
boolean
If true, the item can be bought multiple times.
category
string
The category ID from shopkeeper.yml where this item will appear.
🔼 Upgrade Module
Allows items to be part of a progression chain.
shared-id
string
Common ID for all tiers of the same item.
upgrade-tier
integer
The level of this specific item in the chain.
✨ Enchant Module
Used for creating enchantments that can be applied to other items.
is-enchant
boolean
Marks the item as an enchantment.
max-purchases
integer
Maximum times this can be applied.
cost-increase-per-purchase
integer
Percentage price increase per purchase.
apply-to
list
List of item types this enchantment can affect.
🛡️ Equipment Builder Module
Controls the physical item given to the player, including its stats and visuals.
type
The Bukkit Material name.
attributes
List of attribute modifiers (e.g., speed, damage).
ignore-slot
If true, finds the first empty slot instead of using the defined index.
Last updated