Skip to content
BlazeZDocs

LiteSell

Sell menus, /sellall and /worth with per-category levels that raise each player's sell multiplier.

Version
1.8.2
Runs on
Paper, Purpur, Folia
Minecraft
1.21+
Java
17+
Requires
Vault
Works with
PlaceholderAPI, PacketEvents, EconomyShopGUI, Order
On this page

LiteSell gives players /sell, /sellall, /sellhand and /worth, with prices split into categories like ores, crops and mob drops. The more a player sells in a category, the higher their level there, and each level raises the multiplier on everything they sell in it.

Players see every item's value in its lore, can look back at what they sold, and you can run timed server-wide sell events that boost every payout.

Permissions#

PermissionLets a playerDefault
litesell.admin.reloadRun /litesell reload.OP
litesell.admin.setworthSet prices with /setworth.OP
litesell.admin.unsellableMark items unsellable with /sell unsellable.OP
litesell.admin.sellhistoryOpen another player's sell history.OP
litesell.adminTurn the worth display off or on for the whole server.OP
sellplugin.adminRun /sellevent and /sell transferdata.OP
blazez.updatesGet the update alert on join.OP

Every player command (/sell, /sellall, /sellhand, /worth, /sellhistory) needs no permission.

Commands#

CommandWhat it doesPermission
/sellOpens the sell menu. Items placed in it are sold when it closes.None
/sellall [material]Sells every sellable item in your inventory, or only one material.None
/sellhand [confirm]Sells the item in your hand. For a shulker box it sells the contents, and the box too if it has a price. Anything inside that can't be sold stays in the box or goes back to your inventory.None
/sellhand allSells every item in your inventory that matches the one in your hand.None
/worthOpens the price list.None
/worth handShows the value of the item in your hand.None
/worth toggle [globally]Turns worth lore off or on for you, or with globally for everyone.None, litesell.admin for globally
/sell ordertoggleTurns selling to Order orders off or on for you.None
/sellhistory [player]Opens your sell history, or another player's.None, litesell.admin.sellhistory for another player
/setworth <price>Sets the price of the item in your hand. It must already be in a category.litesell.admin.setworth
/sell unsellable <tag>Tags the item in your hand so it can't be sold.litesell.admin.unsellable
/sellevent start [seconds] [boost]Starts a sell event now.sellplugin.admin
/sellevent stopEnds the running sell event.sellplugin.admin
/sell transferdataCopies all player data between file storage and MySQL.sellplugin.admin
/litesell reloadReloads every config file.litesell.admin.reload
LiteSell sell menu
/sell opens this menu. Put items in and they are sold when you close it.

Configuration#

FileWhat it controls
config.ymlWorth display, sell events, unsellable items, storage, Order integration and messages.
categories/<name>.ymlOne file per category: its items, prices, levels and icons.
inventories/*.ymlMenu layouts and titles.
enchantments-value.ymlExtra value per enchantment.
tools-config.ymlTool settings.
license.ymlYour license key and update alerts.

Categories and prices#

Each file in categories/ is one category. The file name is its internal name, and you add a category by dropping a new file in the folder. The bundled ones are armor, blocks, book, crops, fish, mob, natrual, ores and potions.

categories/ores.yml
base-multiplier: 1.1
inventory-slot: 37
progress-title: 'ᴏʀᴇѕ ᴘʀᴏɢʀᴇѕѕ'
level-prices: [25000, 150000, 500000, 1000000]
allowed-types:
  COAL_ORE:
    price-per-unit: 2
  DEEPSLATE_COAL_ORE:
    price-per-unit: 2
  • allowed-types lists every item the category buys and its price-per-unit. The quickest way to change a price is to hold the item and run /setworth <price>, which saves it to the file.
  • level-prices is how much a player has to sell in this category to reach each next level.
  • The multiplier at level 1 is base-multiplier, and each level adds 0.1. With 1.1, level 5 pays 1.5 times the price.
  • progress-icon and categories-icon are the items shown in the menus, and inventory-slot places the category icon.

Set disable-categories: true to turn levels and multipliers off, so every item sells at its plain price.

Worth display#

With worth-enabled: true (the default), sellable items show their value in lore, using the worth-lore lines (%price% and %category%). worth-show-top-inventory: true also shows it in chests and other menus. Players can hide it for themselves with /worth toggle.

worth-gui-lore-filter: true adds a filter icon to the /worth menu that cycles through All and each category. Off by default.

LiteSell item prices menu
/worth lists every sellable item with its price.

Items that can't be sold#

  • blacklisted-worlds: worlds where selling is blocked.
  • unsellable-name-words: items whose name contains one of these words can't be sold.
  • unsellable-pdc-tags: items carrying one of these data tags can't be sold, whichever plugin set the tag. Use it to block kit items or custom items from other plugins. Leave value empty to match on the key alone.

/sell unsellable <tag> puts a tag on the held item and adds it to unsellable-pdc-tags if it isn't there yet.

Sell events#

A sell event multiplies every payout for a while, with a boss bar and a chat broadcast.

config.yml
sell-event:
  enabled: false
  schedule-interval: 500
  duration-seconds: 180
  sell-boost: 1.25

With enabled: true, an event starts on its own every schedule-interval seconds and runs for duration-seconds. /sellevent start starts one now, and can override the length and boost.

Selling to Order orders#

With Order installed and order-integration.enabled: true, sold items go to the open order that pays the most per item, but only if it pays more than LiteSell's own price. The rest sells normally. This works for /sell, /sellall, /sellhand all and the API. Off by default. Each player can opt out with /sell ordertoggle.

Other options#

KeyDefaultWhat it does
sell-hand-confirmfalseAsk for confirmation before /sellhand.
allow-shop-hookfalseUse EconomyShopGUI's prices for items it sells.
database.typefilesystemfilesystem, or mysql with the database.sql block filled in.
worth-status-placeholder&aYes / &cNoText the worth and order status placeholders return.

Every message is under messages, and the progress bar look is under progress-bar.

Update alerts#

Staff with blazez.updates (OPs by default) get one chat message when they join, listing every installed BlazeZ plugin that has an update waiting. It stays off until you set check-for-updates: true in this plugin's license.yml.

Install#

  1. Install Vault and an economy plugin. LiteSell doesn't load without Vault.
  2. Put the LiteSell jar in plugins/ and start the server once. LiteSell creates plugins/LiteSell/ with the files above.
  3. Paste your license key into license-key in license.yml. Your key is under My Licenses on the BlazeZ portal; licenses linked to your Discord account show up there automatically. If yours is missing, open a License Key ticket in the BlazeZ Discord.
  4. Restart the server.
  5. After editing files, run /litesell reload.

Placeholders#

PlaceholderReturns
%litesell_total_sold%Items sold on the whole server.
%litesell_multiplier%The player's highest category multiplier, including a running sell event.
%litesell_multiplier_<category>%The player's multiplier in one category (the category file name), including a running sell event. N/A for an unknown category.
%litesell_total_money_made_simple%The player's lifetime earnings as a plain number.
%litesell_total_money_made_formatted%The same, shortened (1.5k).
%litesell_worth_status%Whether the player has worth lore on.
%litesell_worth_status_global%Whether worth lore is on for the server.
%litesell_order_status%Whether the player sells to Order orders.
%litesell_order_status_global%Whether order-integration.enabled is on.

Developer API#

Get the API with LiteSellProvider.get() (package net.luxcube.minecraft.api) and add softdepend: [LiteSell] to your plugin.yml.

MethodDoes
isSellable(item) / getCategoryOf(material)Checks whether and where an item is sold.
getUnitPrice(player, item) / getSellValue(player, item)Price for one unit, or the whole stack, including the player's multiplier.
sellItem(player, item) / sellInventory(player, inventory) / sellHand(player) / sellAll(player)Sells and pays, returning a SellResult.
getCategoryLevel(uuid, category) / getTotalMoneyMade(uuid)Player progress.
registerCategory(category) / unregisterCategory(name)Adds or removes a category at runtime.
isSellEventActive() / getSellEventBoost()The current sell event.
import net.luxcube.minecraft.api.LiteSellProvider;

double value = LiteSellProvider.get().getSellValue(player, player.getInventory().getItemInMainHand());

Events in net.luxcube.minecraft.api.event: PlayerSellEvent (before an API sale, cancellable), PlayerSoldEvent (after), SellerLevelUpEvent, SellEventStartEvent and SellEventEndEvent.