coinsShopkeeper

⚒️ 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.

Key
Type
Description

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.

circle-info

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.

Key
Type
Description

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.

Key
Type
Description

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.

Key
Type
Description

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.

Key
Description

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