customtrades
plugin for trades with villagers and custom items from nexo also you can use playerpoints as economy.
📖About customtrades
CustomTrades
A comprehensive Paper/Folia 1.21.x plugin for custom trader NPCs with Nexo and PlayerPoints support.
Features
- ✅ Create custom trader NPCs (Villager, Wandering Trader, Zombie Villager)
- ✅ User-friendly GUI for trade management
- ✅ Support for vanilla items and Nexo custom items
- ✅ PlayerPoints as alternative currency
- ✅ Folia compatible
- ✅ YAML-based configuration per trader
- ✅ Persistent traders (survive server restarts)
Commands
- /ct create - Creates a new trader at your position
- /ct edit - Opens the trade editor for the targeted trader
- /ct remove - Removes a trader
- /ct list - Lists all traders
- /ct reload - Reloads all traders
Permissions
- customtrades.use - Access to all commands (default: op)
- customtrades.create - Create traders (default: op)
- customtrades.edit - Edit traders (default: op)
- customtrades.remove - Remove traders (default: op)
- customtrades.list - List traders (default: op)
Setup
1. Dependencies
The plugin requires the following dependencies:
- Paper/Folia 1.21.x
- PlayerPoints 3.2.7+ (optional, for PlayerPoints trades)
- Nexo 0.1.0+ (optional, for custom items)
2. Installation
- Place the plugin in the
pluginsfolder - Start the server
- (Optional) Install PlayerPoints and/or Nexo
- Use /ct create to create your first trader
Usage
Creating a trader
/ct create MyTrader villager
Spawns a villager trader at your position.
Configuring trades
- Look at the trader
- Execute /ct edit
- Click on "Add Trade"
- Place items from your inventory into the slots or use the options
- Set PlayerPoints cost (optional)
- Save the trade
YAML Configuration
Each trader is saved in plugins/customtraders/traders/<name>.yml:
name: MyTrader
mobType: VILLAGER
displayName: "&6Trader"
persistent: true
location:
world: world
x: 100.5
y: 64.0
z: 200.5
yaw: 0.0
pitch: 0.0
trades:
0:
input1:
type: VANILLA
material: DIAMOND
amount: 10
output:
type: VANILLA
material: EMERALD
amount: 1
maxUses: -1
playerPointsCost: 0
1:
input1:
type: NONE # No item - PlayerPoints only
output:
type: NEXO
nexoId: custom_sword
amount: 1
maxUses: 1
playerPointsCost: 1000
Item Types
VANILLA: Normal Minecraft items
type: VANILLA
material: DIAMOND_SWORD
amount: 1
displayName: "&bSpecial Sword"
lore:- "&7A special sword"
NEXO: Custom items from Nexo
type: NEXO
nexoId: my_custom_item
amount: 1NONE: No item (for PlayerPoints-only trades)
type: NONE
PlayerPoints Integration
When PlayerPoints is installed:
- Set playerPointsCost to a value > 0
- The player needs the specified points for the trade
- Points are automatically deducted on successful trade
- You can set input1 to type: NONE for pure PlayerPoints trades
Folia Compatibility
The plugin uses:
- Entity Scheduler for entity-related tasks
- Region Scheduler for region-related tasks
- Automatic detection of Folia vs. Paper
License
MIT License