Compatibility
Minecraft: Java Edition
1.21โ1.21.4
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
Platforms
Links
Tags
Creators
Details
Licensed ARR
Published 4 days ago
qShadowTrader
Main Features
- Random trader spawn near a valid player.
- Configurable spawn intervals, chance, and distance.
- Spawn restrictions by world (
blocked-worlds) and optional allow-list (allowed-worlds). - Configurable offers in
trades.yml:- regular items (
material,amount), - custom items (
item.*: name/lore/model-data/enchantments/flags/unbreakable).
- regular items (
- Global purchase limits per offer (
limit) displayed in lore. - Command execution on purchase (
[console]/[player]). - Double-click purchase protection.
- Chat notifications for trader spawn/despawn.
- Player cooldown persistence in
data.yml.
Trader Lifecycle
- The plugin waits a random interval between
spawn.interval-minandspawn.interval-max. - On each cycle, it rolls
spawn.chance. - A random valid player is selected:
- online and alive,
- not in creative/spectator,
- world is not in
spawn.blocked-worlds, - if
allowed-worldsis set, world must be in that list, player-cooldownmust be satisfied.
- Trader spawns at a safe location near that player (
spawn-distance). - Offers are generated from
trades.ymlusing weightedchancevalues. - Trader despawns after
lifetimeor when all active offers are bought out (ifdespawn-when-empty: true).
Commands
/shadowtrader spawnโ spawn near self (if executed by player) or random valid target (from console)./shadowtrader spawn randomโ force random spawn using valid target rules./shadowtrader spawn <player>โ spawn near a specific player (with all validations)./shadowtrader despawnโ remove current active trader./shadowtrader reloadโ reload plugin configs./shadowtrader infoโ show trader status.- Alias:
/st
Permissions
qshadowtrader.useqshadowtrader.adminqshadowtrader.spawnqshadowtrader.reload
Configuration (config.yml)
Key sections:
spawnโ auto-spawn logic (intervals, chance, worlds).player-cooldownโ cooldown before same player can be selected again.spawn-distanceโ min/max distance from target player.messagesโ chat messages.lifetimeโ trader lifetime in seconds.despawn-when-emptyโ despawn when all offers are exhausted.traderโ entity behavior/options.menuโ GUI settings.protection.double-click-window-msโ anti-double-click window.
Offers (trades.yml)
Each offer is defined under items.<id> and supports:
material/amount(short format), oritem.*(advanced custom item format),limitโ max purchases for the current trader session,chanceโ generation weight,loreโ offer description shown in GUI,commandsโ commands to run on purchase.
Offer Lore Placeholders
%CURR_LIMIT%โ current purchased amount%MAX_LIMIT%โ max limit for this offer
Command Prefixes
[console] commandโ execute as console[player] commandโ execute as player- no prefix โ executes as console
Supported placeholders in commands: <player>, %player%
Offer Example
totem:
material: TOTEM_OF_UNDYING
amount: 1
limit: 1
chance: 10
lore:
- ""
- "&7Price: &62500"
- "&7Limit: %CURR_LIMIT%/%MAX_LIMIT%"
- ""
commands:
- "[console] eco remove <player> 2500"
Notes
- Trader is protected from damage/combustion.
- Offer limits reset on each new trader spawn.
- If auto-spawn does not work, check
spawn.enabled, world filters (allowed/blocked), and whether there are valid online players.



