QSMarketPlus icon

QSMarketPlus -----

Tienda y Subasta: Una plataforma simple y dinámica para comprar, vender y subastar artículos.



QSMarketPlus – Documentación
En esta sección encontrarás toda la información necesaria para utilizar el plugin de forma correcta.
Se explica cómo funcionan los comandos, interfaces, permisos, configuración y herramientas para administradores.




1. Sistema de Tienda – /shop

El menú principal de la tienda se abre con:
Code (Text):
/shop
Dentro del menú, los jugadores verán categorías configuradas desde los archivos YML.
Cada categoría contiene ítems con precios de compra y/o venta.

Características del sistema de tienda:
  • Interfaz gráfica intuitiva.
  • Categorías e ítems totalmente personalizables.
  • Compatibilidad completa con ítems personalizados (NBT, texturas, encantamientos especiales, etc.).
  • Compra y venta instantánea.
  • Los ítems se guardan sin perder información.

Acciones principales:
• Clic izquierdo → Comprar
• Clic derecho → Vender (si tiene precio de venta)





2. Sistema de Venta Rápida – /sell

Este comando permite vender rápidamente ítems del inventario.

Code (Text):
/sell hand
Vende el ítem que el jugador tiene en la mano.

Code (Text):
/sell similar
Vende todos los ítems similares del inventario.

Code (Text):
/sell all
Vende todos los ítems vendibles del inventario.

Notas importantes:
• Solo se pueden vender ítems que existan en la tienda.
• Los ítems deben tener un precio de venta asignado.
• Se soportan ítems personalizados con NBT.



3. Casa de Subastas – /ah

El comando:
Code (Text):
/ah
abre una interfaz visual con todas las subastas disponibles.

Funciones del menú:
  • Ver ítems en venta por otros jugadores.
  • Ver tus subastas activas.
  • Ver y reclamar ítems expirados.
  • Consultar historial completo.

Subcomandos de /ah:

Code (Text):
/ah sell <precio>
Subasta el ítem en la mano.

Code (Text):
/ah sellinv <precio>
Subasta todo el inventario.

Code (Text):
/ah history
Muestra el historial de subastas.

Code (Text):
/ah expired
Muestra las subastas expiradas para reclamar.



4. Herramientas para Administradores

### /additem
Añade el ítem actual en la tienda.

Code (Text):
/additem <categoria> <buy> <sell>
Ejemplo:
Code (Text):
/additem bloques 50 25
El ítem se guarda con:
• Precio de compra: 50
• Precio de venta: 25

Importante:
QSMarketPlus guarda todo el NBT del ítem, permitiendo ítems avanzados de:
• ItemsAdder
• Oraxen
• MythicMobs
• MMOItems
• EcoItems
• Otros plugins personalizados

### /qsmarket reload
Recarga todos los archivos de configuración.

Code (Text):
/qsmarket reload


5. Permisos

Permisos principales:

Code (Text):
qsmarket.reload
Permite usar el comando de recarga.

Code (Text):
qsmarket.admin
Permite añadir ítems y usar herramientas administrativas.

Code (Text):
qsmarket.history
Permite usar el comando /ah history

Code (Text):
qsmarket.expired
Permite usar el comando /ah expired

Los jugadores pueden usar de forma predeterminada:
• /shop
• /sell
• /ah

A menos que un plugin de permisos los limite.



⚙ 6. Archivos de Configuración

El plugin crea la carpeta:
Code (Text):
QSMarketPlus/
Dentro encontrarás varios archivos YML configurables:

  • config.yml – Configuración general del plugin.
  • items-menu.yml – Lista de ítems con precios.
  • categories.yml – Define categorías e íconos de la tienda.
  • ah_menu.yml – Ajustes del sistema de subastas.
  • action-menu.yml – Configuración de acciones en la tienda.
  • messages_es.yml – Mensajes personalizados del plugin.

Aplica cambios con:
Code (Text):
/qsmarket reload


6.1 Ejemplos de Configuración (YML)
A continuación se muestran ejemplos claros y listos para usar:

---

config.yml
Code (yml (Unknown Language)):

discord:
  webhook_enabled: true
  webhook_url: "https://discord.com/api/webhooks/1431092741097521352/O52vGJbHpZ87v1dOJQX1waNs0t09h6XYeb25mz8KM4WcHXEYT4gTjjEeIp7uxoemTmwG"

# Este es el lore del artículo que se muestra en el menú de compra/venta
price-format:
  buy: "<green>Compra: <white>$%buy%</white>"
  sell: "<red>Venta: <white>$%sell%</white>"


auction:
  # Tiempo que dura una subasta antes de expirar (en segundos)
  # Ejemplos:
  # 60  = 1 minuto
  # 3600 = 1 hora
  # 86400 = 24 horas
  # 7 días = 7 × 24 × 3600 = 604800 segundos
  # 14 días = 14 × 24 × 3600 = 1209600 segundos
  # 30 × 24 × 3600 = 2592000 segundos
  expiration_seconds: 604800


  # Con qué frecuencia se revisan las subastas para ver si han expirado (en segundos)
  # Ejemplos:
  # 10 = cada 10 segundos (ideal para pruebas)
  # 300 = cada 5 minutos (recomendado en producción)
  expiration_check_interval: 10

auction-limits:
  default: 5           # Jugadores sin permisos especiales
  qsmarket.limit.premium: 10
  qsmarket.limit.vip: 20
  qsmarket.limit.staff: 999


database:
  type: "mysql"   # opciones: sqlite / mysql
  mysql:
    host: "localhost"
    port: 3306
    database: "qsmarket"
    user: "root"
    password: "root"
  sqlite:
    file: "data.db"


 

---

categories.yml
Code (yml (Unknown Language)):

menu:
  title: "<green>QSMarketPlus</green>"
  rows: 6

buttons:
  close:
    slot: 49
    material: "BARRIER"          # ← O puedes usar...
    head: "http://textures.minecraft.net/texture/beb588b21a6f98ad1ff4e085c552dcb050efc9cab427f46048f18fc803475f7"   # ← una textura de Minecraft-Heads
    name: "<red>Cerrar</red>"
    lore:
      - "<gray>Cierra el menú"

  sell-all:
    slot: 51
    material: "GOLD_BLOCK"
    head: ""                     # si está vacío usa el material
    name: "<yellow>Vender todo</yellow>"
    head: "http://textures.minecraft.net/texture/9fd108383dfa5b02e86635609541520e4e158952d68c1c8f8f200ec7e88642d"
    lore:
      - "<gray>Vende todos tus items"



categories:
  blocks:
    name: "<c:#15A2DD>BLOQUES DE CONSTRUCCIÓN</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/f91209a21302f764b37060c86062a515f533b1a4f90593653ab23b33bfd7a068"
    slot: 10
    lore:
      - "<gray>Todo tipo de bloques"
      - "<gray>para construcción."
      - ' '
      - <c:#15A2DD>→ <b><u>CLICK</u></b> para explorar</c>

  blockscolors:
    name: "<c:#FF7222>BLOQUES DE COLORES</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/7a7d6c0accd2e9ccaefa96b9438d6e202fec795acf7072bcfd9cd9d4b5a32b0e"
    slot: 11
    lore:
      - '<gray>Embellece tus construcciones con</gray>'
      - '<gray>diferentes colores de bloques.</gray>'
      - ' '
      - <c:#FF7222>→ <b><u>CLICK</u></b> para explorar</c>

  combat_tools:
    name: "<c:#7FEFD0>COMBATE & HERRAMIENTAS</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/a8832c1466c841cc79d5f10295d464279967975a2451c7a533c7996897408bea"
    slot: 12
    lore:
    - <gray>¿Necesitas equipo para PvP</gray>
    - <gray>o algunas herramientas?</gray>
    - ' '
    - <c:#7FEFD0>→ <b><u>CLICK</u></b> para explorar</c>

  decoration:
    name: "<c:#E78A8A>DECORACIÓN</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/55c5a3338b9b2b17f0fcea34584b1370efc9b5b27923902294f03099155215fc"
    slot: 13
    lore:
    - <gray>Decora tus construcciones con</gray>
    - <gray>flores, hojas y más!</gray>
    - ' '
    - <c:#E78A8A>→ <b><u>CLICK</u></b> para explorar</c>

  farming:
    name: "<c:#FFD05A>AGRICULTURA</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/26459be09998e50abd2ccf4cd383e6b38ab5bc905facb66dce0e14e038ba1968"
    slot: 14
    lore:
    - <gray>Crea tu propio jardín y<gray>
    - <gray>comienza a ganar tu dinero.<gray>
    - ' '
    - <c:#FFD05A>→ <b><u>CLICK</u></b> para explorar</c>

  food:
    name: "<c:#ABE5A7>COMIDA</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/ca9c8753780ebc39c351da8efd91bce90bd8cca7b511f93e78df75f6615c79a6"
    slot: 15
    lore:
      - "<gray>¡No tengas hambre! Compra"
      - "<gray>comida deliciosa y aliméntate."
      - ' '
      - <c:#ABE5A7>→ <b><u>CLICK</u></b> para explorar</c>

  minerales:
    name: "<c:#FF5733>MINERALES</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/90bb41a9ed2a6b57464a7938a4ebaf89f3e2a3856da6bff86bb442efc6fe5de5"
    slot: 16
    lore:
      - "<gray>Encuentra y compra minerales"
      - "<gray>valiosos para tus proyectos."
      - ' '
      - <c:#FF5733>→ <b><u>CLICK</u></b> para explorar</c>

  miscellaneous:
    name: "<c:#DDA0DD>VARIOS</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/4bc355ef41bc9f819260a81e70a7bf2892b29523826ed4d0fa400c58334ccfe0"
    slot: 19
    lore:
      - "<gray>Encuentra una variedad de"
      - "<gray>artículos únicos aquí."
      - ' '
      - <c:#DDA0DD>→ <b><u>CLICK</u></b> para explorar</c>

  mob_drops:
    name: "<c:#FFA500>BOTÍN DE MOBS</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/6b2feb9f9d867f80ef4fa94136461919666b8d74230d149d5958355f362fe1f3"
    slot: 20
    lore:
      - "<gray>Consigue botines dejados por"
      - "<gray>criaturas y mobs."
      - ' '
      - <c:#FFA500>→ <b><u>CLICK</u></b> para explorar</c>

  potions:
    name: "<c:#8A2BE2>POCIONES</c>"
    material: PLAYER_HEAD
    head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjJiMGExY2EzOTlmMzVkYzU0NTE5YzRjOTk2Zjk2MjlhNTEwYzQ5OTM4MTUxZjc1OWVjOGYwNzA0MWU3ODU2NiJ9fX0="
    slot: 21
    lore:
      - "<gray>Compra pociones mágicas"
      - "<gray>para mejorar tus habilidades."
      - ' '
      - <c:#8A2BE2>→ <b><u>CLICK</u></b> para explorar</c>

  redstone:
    name: "<c:#FF0000>REDSTONE & MECÁNICAS</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/aea9e885e93f964e0075a75e9ae25cdabda2ffa5d12feedfab0f889b3edbbe6b"
    slot: 22
    lore:
      - "<gray>Explora componentes de"
      - "<gray>Redstone y mecánicas."
      - ' '
      - <c:#FF0000>→ <b><u>CLICK</u></b> para explorar</c>

  cabezas:
    name: "<c:#FFD700>HEADS & DECORACIONES</c>"
    material: PLAYER_HEAD
    head: "http://textures.minecraft.net/texture/17661066e036453278d25bf75a305409579e4275e9a043075d5770c7f621f677"
    requiredPermission: "qsmarketplus.category.heads"
    requiredGroup: "vip_epico"
    slot: 23
    lore:
      - "<gray>Encuentra cabezas decorativas"
      - "<gray>y artículos únicos."
      - ' '
      - <c:#FFD700>→ <b><u>CLICK</u></b> para explorar</c>

 
---

confirm-menu.yml
Code (yml (Unknown Language)):

menu:
  title-buy: "<green>Confirmar compra"
  title-sell: "<red>Confirmar venta"

buttons:

  back:
    enabled: true
    slot: 18
    material: ARROW
    name: "<yellow>Volver"
    lore:
      - "<gray>Regresar al menú anterior"

  confirm:
    enabled: true
    slot: 11
    material: LIME_DYE
    name: "<green>aceptar"
    head: "http://textures.minecraft.net/texture/a92e31ffb59c90ab08fc9dc1fe26802035a3a47c42fee63423bcdb4262ecb9b6"
    lore:
      - "<gray>Haz clic para confirmar la acción"

  cancel:
    enabled: true
    slot: 15
    material: BARRIER
    name: "<red>stop"
    head: "http://textures.minecraft.net/texture/beb588b21a6f98ad1ff4e085c552dcb050efc9cab427f46048f18fc803475f7"
    lore:
      - "<gray>Cerrar el menú sin realizar acción"

 
---

items-menu.yml
Code (yml (Unknown Language)):

menu:
  title: "<gold>{category}</gold> <gray>[{page}/{max}]</gray>"
  rows: 6
  default-sort: "name" # opciones: name / price_asc / price_desc / none
buttons:

  prev-page:
    slot: 45
    name: "<yellow>Anterior"
    head: "http://textures.minecraft.net/texture/de1dfc11a837111d22b001a14461f9a7fc093522f88c58faefd6adeffcd4e9ab"   # opcional
    material: ARROW        # si no hay head
    lore:
      - "<gray>Página anterior"

  next-page:
    slot: 53
    name: "<yellow>Siguiente"
    head: "http://textures.minecraft.net/texture/7c69d41076a8dea4f06d3f1a9ac47cc996988b74a0913ab2ac1a74caf7081918"               # vacío → usa material
    material: ARROW
    lore:
      - "<gray>Página siguiente"

  sort-asc:
    slot: 46
    name: "<green>Ordenar Precio ↑"
    head: "http://textures.minecraft.net/texture/76a5734eaed02907408dff3e3f2c6efcd35a546c8f0af6c5e952d8cb8a516e82"
    material: EMERALD

  sort-desc:
    slot: 47
    name: "<red>Ordenar Precio ↓"
    head: "http://textures.minecraft.net/texture/4e8ba7863b15a5e40fa7da9629bb866aa22699553e931df1f693cbb1c9f3b6"
    material: REDSTONE

  sort-name:
    slot: 48
    name: "<aqua>Ordenar A-Z"
    head: "http://textures.minecraft.net/texture/e815317c936ff01b1fb4fd92ede3b3a0e034379a65edee8a504b202173260aee"
    material: BOOK

  back:
    slot: 49
    name: "<red>Volver"
    head: ""
    material: BARRIER

 
---

ah_menu.yml
Code (yml (Unknown Language)):

ah:
  title: "<gold>Casa de Subasta"
  size: 54

  background:
    material: GRAY_STAINED_GLASS_PANE
    name: "<gray> "

  grid_slots:
    - 10
    - 11
    - 12
    - 13
    - 14
    - 15
    - 16
    - 19
    - 20
    - 21
    - 22
    - 23
    - 24
    - 25
    - 28
    - 29
    - 30
    - 31
    - 32
    - 33
    - 34
    - 37
    - 38
    - 39
    - 40
    - 41
    - 42
    - 43

  navigation:
    prev:
      material: ARROW
      name: "<yellow>Página Anterior"
      lore: []
      slot: 45

    close:
      material: BARRIER
      name: "<red>Cerrar"
      lore: []
      slot: 49

    next:
      material: ARROW
      name: "<yellow>Página Siguiente"
      lore: []
      slot: 53


  filters:
    price_asc:
      material: LIGHT_BLUE_DYE
      name: "<aqua>Precio Ascendente"
      lore: []
      slot: 0
      tag: "PRICE_ASC"

    price_desc:
      material: BLUE_DYE
      name: "<blue>Precio Descendente"
      lore: []
      slot: 1
      tag: "PRICE_DESC"

    only_items:
      material: PAPER
      name: "<yellow>Solo Items"
      lore: []
      slot: 2
      tag: "ONLY_ITEMS"

    only_bulk:
      material: CHEST_MINECART
      name: "<gold>Solo Cofres"
      lore: []
      slot: 3
      tag: "ONLY_BULK"

    none:
      material: BARRIER
      name: "<red>Quitar Filtros"
      lore: []
      slot: 4
      tag: "NONE"

 
---

action-menu.yml
Code (yml (Unknown Language)):

menu:
  title: "<yellow>Selecciona una acción"
  rows: 3
  fill-background: true  # Rellenar con cristal o no

buttons:
  buy:
    enabled: true
    slot: 11
    material: LIME_WOOL
    name: "<green>Comprar"
    head: "http://textures.minecraft.net/texture/bd005ebbf9817d6928de8bc5f7d1c389276020ac87647d28ab8f99eb39ffde76"
    lore:
      - "<gray>Comprar este ítem"
    # head: ""  # opcional

  sell:
    enabled: true
    slot: 15
    material: RED_WOOL
    name: "<red>Vender"
    head: "http://textures.minecraft.net/texture/9fd108383dfa5b02e86635609541520e4e158952d68c1c8f8f200ec7e88642d"
    lore:
      - "<gray>Vender este ítem"

  back:
    enabled: true
    slot: 22
    material: ARROW
    name: "<yellow>Volver"
    lore: []

 
---

messages_es.yml
Code (yml (Unknown Language)):

prefix: "<yellow>[QSMarket]</yellow> "

no_money: "<red>No tienes suficiente dinero.</red>"
no_items: "<red>No tienes suficientes ítems.</red>"
not_enough_space: "<red>No tienes espacio en el inventario.</red>"

sell_success: "<green>✔ Vendiste <yellow><amount>x <item></yellow> por <gold>$<money></gold>"
buy_success: "<green>✔ Compraste <yellow><amount>x <item></yellow> por <gold>$<money></gold>"

sell_all_empty: "<yellow>No tienes nada para vender.</yellow>"
sell_all_success: "<green>Vendiste todo por <gold>$<money></gold>"

menu_select_amount: "<green>Selecciona una cantidad</green>"

swapped_no_items: "<red>No tienes items para vender.</red>"
cant_sell: "<red>Este ítem no se puede vender.</red>"

not_stackable: "<yellow>Este ítem no es apilable.</yellow>"
reload_success: "<green>✔ Configuraciones recargadas correctamente.</green>"

#subastas (auction house)

# Auction House Messages
ah_bought: "<green>✔ Compraste <yellow><item></yellow> por <gold>$<money></gold>"
ah_cancelled: "<red>Has cancelado tu subasta.</red>"
ah_no_items: "<yellow>No tienes subastas activas.</yellow>"
ah_title: "<green>Casa de Subastas</green>"
ah_invalid_price: "<red>El precio ingresado no es válido.</red>"

ah_created_single: "<green>✔ Subasta creada:</green> <yellow><item></yellow> por <gold>$<price></gold>"

ah_created_bulk: "<green>✔ Creaste <yellow><count></yellow> subastas por <gold>$<price></gold> cada una.</green>"


ah_price_error: "<red>Debes ingresar un precio válido.</red>"

ah_no_item: "<red>Debes tener un ítem en la mano para subastarlo.</red>"

ah_confirm_title: "<green>Confirmar Subasta</green>"



# ======================================================
# ️ Casa de Subastas — Mensajes (MiniMessage)
# ======================================================

ah_not_your_auction: "<red>¡Esta subasta no te pertenece!</red>"
ah_empty_preview: "<red>Esta subasta no contiene ítems para mostrar.</red>"
ah_error: "<red>Hubo un error al procesar la subasta.</red>"


# ======================================================
# ️ Filtros
# ======================================================

ah_filter_price_asc: "<aqua>Filtro aplicado:</aqua> <yellow>Precio ascendente</yellow>"
ah_filter_price_desc: "<blue>Filtro aplicado:</blue> <yellow>Precio descendente</yellow>"
ah_filter_only_items: "<yellow>Filtro aplicado:</yellow> <white>Solo ítems individuales</white>"
ah_filter_only_bulk: "<gold>Filtro aplicado:</gold> <yellow>Solo subastas masivas</yellow>"
ah_filter_reset: "<red>Se han eliminado todos los filtros.</red>"

# ======================================================
#  Navegación
# ======================================================

ah_page_next: "<yellow>Cambiaste a la página siguiente.</yellow>"
ah_page_prev: "<yellow>Cambiaste a la página anterior.</yellow>"
ah_page_invalid: "<red>No hay más páginas para mostrar.</red>"
ah_cannot_buy_own: "<red>No puedes comprar tu propia subasta."
ah_not_found: "<red>Esta subasta ya no existe."
ah_broadcast_header: "<dark_gray><st>-----------------------------</st>"
ah_broadcast_title: "<gold><bold>NUEVA SUBASTA"
ah_broadcast_player: "<yellow>Jugador:</yellow> <white><player>"
ah_broadcast_price: "<yellow>Precio:</yellow> <green><price>"
ah_broadcast_type: "<yellow>Tipo:</yellow> <aqua>Subasta <type>"
ah_broadcast_footer: "<dark_gray><st>-----------------------------</st>"
ah_expired: "<yellow>Tu subasta ha expirado:</yellow> <white><item></white>"
no_permission: "<red>No tienes permiso para hacer esto.</red>"

 
---

7. Compatibilidad con Ítems Personalizados

QSMarketPlus es 100% compatible con cualquier ítem que contenga datos NBT.
Esto incluye ítems de plugins como:

• ItemsAdder
• Oraxen
• MMOItems
• MythicMobs
• ModelEngine
• Plugins RPG o de texturas personalizadas

El plugin guarda el ítem **exactamente** como es, sin perder propiedades.



8. Integración con Vault

Vault es obligatorio para manejar la economía.
QSMarketPlus funciona con:

• EssentialsX Economy
• CMI Economy
• iConomy (forks)
• PlayerPoints (si está integrado)
• Cualquier economía ligada a Vault

Si Vault no está instalado, el plugin se desactiva automáticamente.



9. Solución de Problemas

• La tienda aparece vacía
→ Añade ítems con /additem o edita items.yml.

• /sell no funciona
→ El ítem debe existir en la tienda y tener un precio de venta.

• No se abre /ah
→ Revisa la consola por errores de configuración.

• Ítems pierden NBT
→ Asegúrate de estar usando Minecraft 1.20+ y que ningún otro plugin modifique ítems al recogerlos.



10. Características en Desarrollo (Beta)

Próximas mejoras planeadas:

  • API para desarrolladores.
  • Filtros avanzados en /ah.
  • Estadísticas por jugador.
  • Herramientas de edición masiva para admins.
  • Mejoras en la interfaz gráfica.



Soporte

Si necesitas ayuda o quieres sugerir nuevas funciones, puedes contactar al desarrollador.
¡Gracias por usar QSMarketPlus!
Resource Information
Author:
----------
Total Downloads: 68
First Release: Nov 26, 2025
Last Update: Mar 8, 2026
Category: ---------------
All-Time Rating:
1 ratings
Find more info at quesito-ecu.gitbook.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings