Saltar al contenido principal

Shop

La extensión Shops simula una economía viva. Los precios pueden fluctuar según la oferta y la demanda, los ajustes de stock permiten crear escasez y el reabastecimiento automático mantiene el mercado en movimiento.

Características

  • Precios dinámicos — Los precios fluctúan según los niveles de stock.
    • Control de stock — Oferta máxima y límites de reabastecimiento.
    • Límites de compra — Restringe los objetos por jugador.
    • Independiente de la moneda — Funciona con Vault, puntos u objetos.

Entradas

  • DefiniciónShop Def: configurar objetos y precios.
    • AccionesOpen Shop: abrir la interfaz de la tienda.
    • AlmacenamientoStorage: base de datos de stock.

Inicio rápido

  • 1. Configurar los ajustes — Empieza por la entrada de configuración: shop_definition. Define los ajustes globales de la extensión. → shop_definition
  • 2. Activar acciones — Usa las entradas de acción para interactuar con la extensión: open_shop. Actívalas desde comandos, NPC, eventos u otras entradas. → open_shop

Placeholders

Prefijo: %typewriter_shop:<id>:%

PlaceholderDescripción
%typewriter_shop:<id>:name%Nombre de la tienda
%typewriter_shop:<id>:cooldown%Temporizador de reabastecimiento
%typewriter_shop:<id>:<index>:buy_price%Precio de compra actual
%typewriter_shop:<id>:<index>:stock%Stock actual

Comandos

ComandoDescripción
/shopAbrir un menú de tienda.

Permisos

PermissionDescripción
typewriter.shop.openAbrir un menú de tienda.

Referencia actual

ShopDefinitionEntry conecta ShopItemConfig con ShopInteractionConfig y después con ShopClickAction o ShopButtonType. Los servicios son ShopGuiService, ShopTransactionHandler y ShopButtonActionHandler.

BUY_1 / SELL_1 usan una unidad; BUY_STACK / SELL_STACK un stack; BUY_MAX / SELL_ALL el máximo posible; BUY_CUSTOM / SELL_CUSTOM abren una entrada. BUY_1:10 y SELL_1:10 crean botones de cantidad fija en un submenú.

Los campos del diálogo son buyAmountPrompt, sellAmountPrompt, amountConfirmButton, amountInputLabel, amountInputPlaceholder, amountInputWidth, amountInputMaxLength e invalidAmountMessage.

Versión y compatibilidad

ElementoReferencia
VersiónNo se ha confirmado ninguna release oficial publicada.
TypeWriterUsa la release oficial esperada por la extensión.
GUIDependencia de menú que debe coincidir con la release publicada.