StellarCoinFlip

Bienvenida

StellarCoinFlip es el sistema de apuestas de monedas más avanzado y optimizado para servidores de Minecraft. Altamente personalizable, ligero y diseñado tanto para jugadores de Java como de Bedrock. Aporta emoción a tu servidor con el sistema CoinFlip más completo del mercado.

Configuración

StellarCoinFlip permite una configuración altamente personalizable para adaptarse a las necesidades de tu servidor. A continuación se explican las principales secciones del archivo config.yml.

Opciones de depuración y compatibilidad

Controla la información adicional y compatibilidad con diferentes versiones:

debug: false                     # Mostrar información de depuración en consola
compatibility:
  bedrock-support:
    enabled: false               # Habilitar soporte para Bedrock Edition
    prefix: "."                  # Prefijo para jugadores de Bedrock (detectado automáticamente)
  paper-chat: false              # Usar el sistema de chat de Paper (recomendado en Paper/Purpur)

Configuraciones generales

settings:
  default_currency: "vault"      # Moneda por defecto para nuevas apuestas
  min_bet: 100                   # Apuesta mínima permitida
  max_bet: 100000                # Apuesta máxima permitida
  start_bet: 100                 # Cantidad inicial al crear una apuesta
  # Re-abrir el inventario si el jugador tiene un coin flip en progreso
  re-open-inventory: true
  custom_amount:
    # Modos disponibles: ANVIL (menú de yunque), CHAT (escribir en chat)
    mode: ANVIL

Sistema anti-duplicación

Configuraciones importantes para evitar pérdida de dinero y duplicación:

anti-dupe:
  # Define cuándo ocurre un reembolso si un jugador se desconecta:
  # false → Reembolsar al reconectarse (más seguro, StellarCoinFlip maneja el reembolso)
  # true  → Reembolsar al desconectarse
  # Nota: posible pérdida de dinero si el plugin de economía no guarda bien los datos
  refund-on-quit: false
  
  # Cuando el servidor se detiene, las apuestas no se reembolsarán inmediatamente.
  # En su lugar, los reembolsos se procesarán cuando los jugadores se reconecten.
  # refund-on-quit debe ser true para que esto funcione.
  disable-refund-on-stop: true
  
  # Si un jugador se desconecta durante un juego en curso:
  # false → El resultado se anunciará cuando el jugador se reconecte (buena experiencia)
  # true  → El juego se cancelará inmediatamente (mala experiencia para el jugador online)
  cancel-rolling-on-quit: false

Configuración de anuncios

announcements:
  enabled: true                                           # Habilitar anuncios globales
  min_to_announce: 1000                                   # Solo anunciar apuestas de esta cantidad o más
  toggle_permission: stellarcoinflip.toggle.announcements # Permiso para deshabilitar anuncios personalmente

Configuración de monedas

Puedes configurar múltiples tipos de monedas según los plugins de economía que tengas:

currency:
  # Esta moneda necesita Vault y un plugin de economía compatible
  vault:
    enabled: true
    name: "Coins"             # Nombre mostrado de la moneda
    symbol: "$"               # Símbolo para mostrar
    tax-percent: 0.0          # Porcentaje de impuesto (0.0 = sin impuesto, 5.0 = 5% de impuesto)
    icon:
      material: "player_head:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTVmZDY3ZDU2ZmZjNTNmYjM2MGExNzg3OWQ5YjUzMzhkNzMzMmQ4ZjEyOTQ5MWE1ZTE3ZThkNmU4YWVhNmMzYSJ9fX0="
      amount: 1
      custom-model-data: 0    # Para resource packs personalizados
      glowing: false          # Efecto de brillo en el ítem
  
  # Esta moneda necesita el plugin PlayerPoints
  player_points:
    enabled: false
    name: "Player points"
    symbol: "PP"
    tax-percent: 0.0
    icon:
      material: "player_head:texture_base64"
      amount: 1
      custom-model-data: 0
      glowing: false
  
  # Esta moneda necesita el plugin CoinsEngine
  coins_engine:
    enabled: false
    name: "CoinsEngine"
    currency: "coins"         # ID de la moneda en CoinsEngine
    symbol: "CSE"
    tax-percent: 0.0
    
  # Esta moneda necesita el plugin TokenManager
  token_manager:
    enabled: false
    name: "TokenManager" 
    symbol: "TKM"
    tax-percent: 0.0
    
  # Esta moneda necesita el plugin UltraEconomy
  ultra_economy:
    enabled: false
    name: "UltraEconomy"
    currency: "coins"         # Nombre de la moneda en UltraEconomy
    symbol: "UE"
    tax-percent: 0.0

Configuración de base de datos

Soporta H2 (por defecto) and MySQL:

databases:
  # Tipo de base de datos: h2, mysql
  type: "h2"
  h2:
    database: StellarCoinFlip  # Nombre del archivo de base de datos
  mysql:
    host: localhost
    port: 3306
    database: StellarCoinFlip
    user: admin
    password: 123456

# Puedes personalizar los nombres de las tablas agregando prefijos
databaseTables:
  prefix: "scf_"               # Prefijo para todas las tablas
  players: players             # Tabla de jugadores
  coin_flips: coin_flips       # Tabla de apuestas activas
  transactions: transactions   # Tabla de transacciones
  actions: actions             # Tabla de acciones/logs

Discord Webhooks

Integra StellarCoinFlip con Discord para recibir notificaciones:

discord-webhook:
  enabled: false                     # Habilitar webhooks de Discord
  # Usa esto si tienes muchas apuestas creadas en poco tiempo para evitar rate limit
  group-messages: false              # Agrupar mensajes para evitar spam
  min-bet: 1000                      # Solo enviar webhook para apuestas de esta cantidad o más
  url: https://discord.com/api/webhooks/1000/webhook  # URL de tu webhook
  image: https://cdn.discordapp.com/attachments/1000/1000/image.png  # Imagen del embed
  name: StellarCoinFlip              # Nombre del bot en Discord
  create:
    enabled: true                    # Notificar cuando se crea una apuesta
    content: "**{player}** created a coin flip: **{amount} {currency}**"
  finish:
    enabled: true                    # Notificar cuando termine una apuesta
    content: "**{player}** won a coin flip against **{loser}** with **{amount} {currency}**{tax}"

Comandos

ComandoDescripción
/cf create [amount]Crear un juego de coin flip
/cf play <player>Jugar contra el coin flip de un jugador
/cf reloadRecargar el plugin
/cf versionMostrar la versión del plugin
/cf deleteEliminar tu coin flip
/cf settings <announcements>Alternar configuraciones

Permisos

PermisoDescripción
stellarcoinflip.adminAcceso a comandos de administrador como /cf reload
stellarcoinflip.settings.announcementsAcceso a comandos de configuración
stellarcoinflip.playPermitir usar /cf play <player> (puedes darlo a jugadores VIP)
stellarcoinflip.createPermitido por defecto
stellarcoinflip.deletePermitido por defecto
stellarcoinflip.toggle.announcementsPermiso para deshabilitar anuncios

Placeholders

StellarCoinFlip incluye soporte completo para PlaceholderAPI:

Placeholders Generales

  • %coinflip_wins% – Muestra el número total de juegos CoinFlip que has ganado
  • %coinflip_loses% – Muestra el número total de juegos CoinFlip que has perdido
  • %coinflip_total_won% – Muestra la cantidad total de dinero ganado en CoinFlips
  • %coinflip_net_profit% – Muestra tu ganancia neta (total ganado menos total perdido)
  • %coinflip_total_lost% – Muestra la cantidad total de dinero perdido en CoinFlips
  • %coinflip_total_total% – Muestra el número total de CoinFlips jugados

Placeholders Específicos por Moneda

  • %coinflip_specific_<type>_<currency>% – Muestra estadísticas para un tipo de economía y moneda específicos
  • %coinflip_specific_won_<currency>% – Muestra la cantidad total ganada en una moneda específica
  • %coinflip_specific_lost_<currency>% – Muestra la cantidad total perdida en una moneda específica
  • %coinflip_specific_total_<currency>% – Muestra el número total de CoinFlips jugados con una moneda específica

Monedas soportadas: vault, coins_engine, player_points, token_manager, ultra_economy

Personalización de Menús

StellarCoinFlip permite personalizar completamente los menús. Ejemplo de configuración de menú de creación:

rows: 3                             # Número de filas del inventario
title: "Select amount"              # Título del menú
items:
  decoration:                       # Ítem decorativo para rellenar espacios
    material: BLACK_STAINED_GLASS_PANE
    amount: 1
    custom-model-data: 0            # Para resource packs personalizados
    glowing: false
    display-name: "&7"              # Nombre vacío para que no se vea texto
    slots: "0-8;9;17;18-26"         # Slots donde aparece (formato: individual o rangos)
  
  remove1000:                       # Botón para quitar 1000 de la apuesta
    material: "player_head:texture_base64"  # Cabeza personalizada con textura
    amount: 1
    display-name: "&c-1000"
    lore:
      - "&7You can remove 1000 coins to the"
      - "&7amount of coins to flip."
      - "&7"
      - "&eClick to remove 1000!"
    slots: 10                       # Slot específico donde aparece
    actions:
      - "action:remove:1000"        # Acción personalizada al hacer clic
  
  customAmount:                     # Botón para cantidad personalizada
    material: ANVIL
    display-name: "&aCustom amount"
    lore:
      - "&7You can set a custom amount"
      - "&7of coins to flip."
      - "&eClick to set custom amount!"
    slots: 18
    actions:
      - "action:custom_amount"      # Abre el menú de yunque para escribir cantidad

Sistema de Animaciones

Las animaciones se configuran por frames para crear efectos visuales durante las apuestas:

title: "Rolling..."                 # Título mostrado durante la animación
rows: 5                             # Filas del inventario de animación
max-frames: 100                     # Número total de frames de la animación
frame-tick: 1                       # Ticks entre cada frame (1 tick = 1/20 segundo)
frames:
  frame1:                           # Primer frame de la animación
    start-frame: 0                  # Frame donde comienza
    end-frame: 10                   # Frame donde termina
    items:
      item1:                        # Fondo de la animación
        material: BLACK_STAINED_GLASS_PANE
        display-name: "&7"
        slots: "0-44"               # Llenar todo el inventario
      player:                       # Moneda girando (cabeza personalizada)
        material: "player_head:texture_base64"
        display-name: "&eRolling..."
        slots: 22                   # Centro del inventario
    actions:
      - "sound: BLOCK_NOTE_BLOCK_HAT;1.0;1.0"  # Sonido: tipo;volumen;tono
  
  frame2:                           # Segundo frame con diferente color/textura
    start-frame: 10
    end-frame: 20
    items:
      item1:
        material: YELLOW_STAINED_GLASS_PANE        # Cambia el color del fondo
        slots: "0-44"
      player:
        material: "player_head:different_texture"  # Diferente textura de moneda
        display-name: "&eRolling..."
        slots: 22
    actions:
      - "sound: BLOCK_NOTE_BLOCK_HAT;1.0;2.0"      # Tono más alto

Nota: Puedes crear animaciones complejas alternando texturas, colores y sonidos para simular una moneda girando realísticamente.

Sistema de Acciones

StellarCoinFlip incluye un potente sistema de acciones que se pueden ejecutar en diferentes eventos:

AcciónDescripciónEjemplo
consoleEjecuta un comando desde la consolaconsole:say test
commandEjecuta un comando como el jugadorcommand:dm open main
soundReproduce un sonido al jugadorsound:ENTITY_ENDERMAN_TELEPORT;1.0f;1.0f
playsound_resource_packReproduce un sonido del resource packplaysound_resource_pack:ENTITY_ENDERMAN_TELEPORT;1.0f;1.0f
messageEnvía un mensaje de chat al jugadormessage:You can't claim this kit.
center_messageEnvía un mensaje centrado al jugadorcenter_message:You can't claim this kit.
mini_messageEnvía un mensaje con formato MiniMessagemini_message:<red>You can't claim this kit.</red>
broadcastEnvía un mensaje a todos los jugadoresbroadcast:You can't claim this kit.
titlesEnvía un título y subtítulo al jugadortitles:<title>Kit Claimed!;<subtitle>Enjoy your rewards!
wait_ticksEspera un número de ticks antes de la siguiente acciónwait_ticks:40

Formularios Bedrock

StellarCoinFlip incluye soporte nativo para Bedrock Edition con formularios personalizados:

forms:
  main_flips:
    title: "&6&lCoin Flips <pages>"
    noCoinFlip: "&cNo active coin flips in this moment."
    createCoinFlip: "&a&l+ Create Coin Flip"
    selectCoinFlip: "&7Select a coin flip to bet:"

Configuración de Sonidos

Todos los sonidos del plugin son completamente personalizables:

sounds:
  create:
    create_coin_flip:
      sound: ENTITY_PLAYER_LEVELUP
      volume: 1.0
      pitch: 1.0
  game:
    win_coin_flip:
      sound: ENTITY_PLAYER_LEVELUP
      volume: 1.0
      pitch: 1.0
    lose_coin_flip:
      sound: ENTITY_ENDERMAN_TELEPORT
      volume: 1.0
      pitch: 1.0

Mensajes Personalizables

Todos los mensajes del plugin son completamente personalizables a través del archivo lang.yml:

messages:
  playerNotFound: "&cPlayer not online."
  reloaded: "&aThe plugin has been reloaded."
  youCreated: "&eYou created a coin flip: &f<amount> &6<currency>"
  youDeletedCoinFlip: "&eYou deleted the coin flip refund: &6<amount> <currency>"
  announcements:
    createCoinFlip: "&6&lCoinFlip &8>> &7<player>&e created a coin flip: &f<amount> &6<currency>"
    winCoinFlip: "&6&lCoinFlip &8>> &ePlayer &7<won> has won a bet against &7<lose>&e."

Base de Datos

StellarCoinFlip soporta múltiples tipos de base de datos:

Estructura de Tablas

Puedes personalizar los nombres de las tablas:

databaseTables:
  prefix: "scf_"
  players: players
  coin_flips: coin_flips
  transactions: transactions
  actions: actions

Estadísticas y Logging

El plugin mantiene estadísticas detalladas de:

  • Número de victorias y derrotas por jugador
  • Cantidad total ganada y perdida
  • Ganancia neta por jugador
  • Estadísticas por tipo de moneda
  • Logs detallados de todas las transacciones

Seguridad y Anti-Duplicación

StellarCoinFlip incluye múltiples medidas de seguridad:

  • Reembolso automático si un jugador se desconecta durante una apuesta
  • Detección de duplicación de monedas
  • Validación de economía antes de cada transacción
  • Logs detallados de todas las acciones para auditoría

Soporte y Comunidad

StellarCoinFlip es un proyecto en crecimiento activo. Agradecemos tus sugerencias, reportes de errores y reseñas. Únete al Discord para contribuir y ayudar a dar forma al futuro de este plugin.

Para más información y soporte, visita nuestra comunidad de Discord donde puedes obtener ayuda, reportar problemas y sugerir nuevas características.