Description
HTSellWands
Discord: https://discord.gg/y6RemcjSaD
HTSellWands lets your players sell the contents of chests and containers instantly with a single right-click. Create custom sell wands with different multipliers, limited uses, sound effects, and particle effects. Wands are fully configurable through an in-game UI or JSON files, and prices are set per item so you have complete control over your server's economy.
When a player right-clicks a container while holding a sell wand, every item inside that has a configured price gets sold automatically. The earnings are calculated as price x quantity x the wand's multiplier, then deposited straight into the player's balance. Items without a price stay in the container untouched. Each use costs one charge, and when the wand runs out it breaks.
Requires VaultUnlocked for economy integration. Works with any economy provider that registers through VaultUnlocked.
Commands
All commands are under /sellwand (alias /sw).
| Command | Description |
|---|---|
| /sellwand give (player) (wand_id) [amount] | Give one or more wands to a player |
| /sellwand giveall (wand_id) [amount] | Give wands to every online player |
| /sellwand list | Show all configured wand types |
| /sellwand info (wand_id) | Display details about a specific wand |
| /sellwand setprice (item_id) (price) | Set the sell price for an item |
| /sellwand removeprice (item_id) | Remove an item's sell price |
| /sellwand pricelist [page] | List all configured item prices |
| /sellwand reload | Reload wands and prices from disk |
| /sellwand ui | Open the visual wand editor |
Permissions
| Permission | Description |
|---|---|
| htsellwands.admin | Access to the base /sellwand command |
| htsellwands.admin.give | Give wands to players |
| htsellwands.admin.giveall | Give wands to all online players |
| htsellwands.admin.list | List wand definitions |
| htsellwands.admin.info | View wand details |
| htsellwands.admin.setprice | Set item sell prices |
| htsellwands.admin.removeprice | Remove item sell prices |
| htsellwands.admin.pricelist | View the price list |
| htsellwands.admin.reload | Reload configuration files |
| htsellwands.admin.ui | Open the wand editor UI |
Per-Wand Permissions
Each wand can optionally require its own permission before a player is allowed to use it. Set the "permission" field on any wand definition to a permission node of your choice. For example, if you set a wand's permission to "sellwand.use.premium", only players with that permission will be able to sell with it. Players without the permission will see a message telling them they don't have access. If you leave the permission field empty or don't include it, any player who has the wand in their hand can use it with no restrictions.
Configuration
The plugin creates two JSON files inside plugins/HTSellWands/ on first run.
wands.json — This is where your wand definitions live. Each wand has an id, a base item it clones its appearance from, a display name with color codes, a description template, a quality tier for the glow effect, max uses, a sell multiplier, and optional sound/particle effects. Here is an example:
{
"wands": [
{
"id": "htsellwands:basic_wand",
"baseItemId": "Tool_Growth_Potion",
"displayName": "Basic Sell Wand",
"description": "Right-click a chest to sell contents\nMultiplier: {multiplier}x\nUses: {uses_remaining}/{max_uses}",
"qualityIndex": 3,
"maxUses": 10,
"multiplier": 1.0,
"sellSound": "BlockPlace_Stone",
"sellSoundVolume": 1.0,
"sellSoundPitch": 1.2
},
{
"id": "htsellwands:premium_wand",
"baseItemId": "Tool_Growth_Potion",
"displayName": "Premium Sell Wand",
"description": "Right-click a chest to sell contents\nMultiplier: {multiplier}x\nUses: {uses_remaining}/{max_uses}",
"qualityIndex": 5,
"maxUses": 50,
"multiplier": 2.0,
"permission": "sellwand.use.premium",
"sellSound": "BlockPlace_Stone",
"sellSoundVolume": 1.0,
"sellSoundPitch": 0.8,
"sellParticle": "Combat_Crit_Attack",
"sellParticleScale": 1.0
}
]
}
The description field supports placeholders: {multiplier} shows the wand's sell multiplier, {max_uses} shows the total uses, and {uses_remaining} shows how many uses are left. Color codes use <color is=\"#FF22FF\">text</color> it is best to set this inside the json
item_prices.json — A simple mapping of item IDs to their base sell value. Only items listed here can be sold by wands. Anything not in this list stays in the container. Example:
{
"prices": {
"Food_Bread": 10.0,
"Ore_Copper_Stone": 25.0,
"Ore_Iron_Stone": 50.0,
"Ore_Gold_Stone": 100.0
}
}
You can also manage prices in-game using /sellwand setprice and /sellwand removeprice without editing the file.
How Selling Works
The final amount a player receives for each item is calculated as: base price x quantity x wand multiplier. So if bread is priced at 10, a chest has 64 bread, and the wand has a 2.0x multiplier, the player receives 1280. After selling, the wand loses one use regardless of how many items were in the container. When uses hit zero the wand is destroyed. The player always gets a chat message showing how many items were sold, the total earned, and how many uses remain.
Note About Tooltip Display
Due to limitations with how Hytale handles item tooltips, the uses remaining shown on the wand's tooltip may occasionally appear incorrect or not update visually right away. This is a display-only issue. The actual uses remaining are tracked accurately in the item's internal metadata and will always decrement correctly on each use. After every sell, the chat message will show the true number of uses left. The underlying data is always correct even if the tooltip lags behind.



