Resumen de la versión · mejoras, añadidos y verificación

ACTUALIZACIONES

Todo lo que se mejoró y añadió en Protect The Core 2.0.1-SNAPSHOT, junto con el estado de compilación, pruebas y validación de esta revisión.

Versión: 2.0.1-SNAPSHOTEdiciones: Free y PremiumPaper 26.1.2 · Java 25

Mensaje de la versión 2.0.1-SNAPSHOT

Esta revisión consolida el plugin completo y su documentación: los cuatro módulos, la presentación, las arenas, la economía, los clanes, PCW, Parkour, los cosméticos y la web. Lo que sigue resume qué se mejoró, qué se añadió y cómo se comprobó.

Presentación coherente

Un solo nombre sobre la cabeza: la placa vanilla se oculta mientras el belowname está activo y el nick toma el color del equipo. El TAB muestra rango + nick en lobby y espera, y solo la etiqueta del equipo en partida. El belowname admite hasta tres filas configurables por contexto.

Arenas completas y restaurables

La varita confirma y analiza los límites, registra mesas de encantamiento, valida spawns y núcleos, guarda la copia .ptcmap v3 y restaura el mapa entre rondas. La hora y el clima pueden quedar fijos por arena.

Recursos que sí vuelven

Los troncos y minerales regeneran en el ciclo configurado y los drops de madera van al inventario. Las granjas reponen exactamente los animales que faltan y las mesas de los equipos quedan protegidas.

Economía clara

Coins y multicoins son operaciones separadas. Las recompensas de juego se multiplican una sola vez; las compras, los ajustes de saldo y Tebex no. Rachas, núcleos, victoria y MVP tienen valores definidos.

Clanes y PCW

Clanes con coste, invitaciones, solicitudes aprobadas por el líder, nombres con color y hasta 250 miembros. PCW organiza guerras de 2 a 15 clanes con apariciones propias y confirmación por clan.

Parkour y cosméticos

Parkour con cursos por mapa, placas de inicio/meta, checkpoints, récords y premios. En Premium, diez cosméticos de lobby con permiso propio o compra única con Coins.

Configuración no destructiva

/ptc reload aplica lo guardado sin reescribir los YAML. Anuncios multilínea con intervalo por contexto, prefijo de mensaje que no tiñe el cuerpo y catálogos editables sin recompilar.

Documentación ampliada

Nueva guía completa de cero a producción, instalación con dependencias y composición del código, estructura de carpetas, permisos, recomendaciones y esta página de actualizaciones con el estado de verificación.

Estado de esta revisión: compilación Free y Premium correcta; 24/24 pruebas automatizadas superadas (0 fallos, 0 errores) en 7 clases; validadores del proyecto sin errores reportados. Los dos JAR se generaron en target/free/ y target/premium/.
Alcance honesto: las pruebas automatizadas y los validadores no sustituyen una partida real. Antes de abrir el servidor, prueba en staging el flujo completo con clientes reales, tus plugins de TAB/permisos y una copia de seguridad recuperable. Esta página no afirma que todas las combinaciones de Paper, mapas y plugins externos hayan sido ensayadas en vivo.

Verificación de la versión

Comprobaciones realizadas sobre el código, los recursos y los artefactos de esta revisión.

ComprobaciónResultadoDetalle
Compilación FreeCorrectatarget/free/ProtectTheCore-Free-2.0.1-SNAPSHOT.jar
Compilación PremiumCorrectatarget/premium/ProtectTheCore-Premium-2.0.1-SNAPSHOT.jar
Pruebas automatizadas24 superadas · 0 fallos · 0 errores7 clases de prueba sobre configuración, migraciones, economía, cosméticos, clanes y utilidades.
Validadores del proyectoSin errores reportadosRevisión de recursos, mensajes y coherencia de la configuración empaquetada.
Carga y arranqueRevisado en análisis y pruebasLa consola muestra edición, versión, base de datos, TAB, anuncios y proveedor de permisos.
Prueba en servidor en vivoRecomendada antes de publicarValidar con clientes reales, mapas propios, LuckPerms/PAPI y restauración de arenas.
La versión no tiene errores conocidos en su verificación automatizada. Si aparece un fallo en tu instalación, revisa primero la consola, la versión de Paper/Java, los permisos y la copia base de la arena. La guía completa incluye una sección de problemas frecuentes con la causa probable.

Un solo nombre sobre la cabeza y color de equipo en el belowname

La placa vanilla se oculta en lobby, sala de espera y partida, y el nick del belowname se pinta con el color del equipo elegido o asignado.

Sin nombre duplicado

El belowname ya no convive con la etiqueta de nombre vanilla. Mientras el belowname está activo, PTC oculta la placa en todos los equipos del scoreboard —y la reaplica cada tick, también si otro plugin los toca— en todos los contextos: lobby, espera, partida, espectador, Parkour y PCW. Así el nombre solo aparece una vez. La lista TAB no cambia: sus filas se siguen componiendo con list-format y list-nick-color.

Nick con el color del equipo

{player} en belowname.contexts.<contexto>.lines inserta el nick con el color del equipo: amarillo, verde, azul o rojo según el equipo elegido en la espera o asignado en la partida. En lobby queda blanco, en Parkour verde y en espectador gris. No hace falta escribir &f delante del placeholder.

Compatible con tu configuración: el cambio de color se aplica en código, así que también funciona con un tab_es.yml antiguo que tenga &f{player}. La placa vanilla se oculta sola mientras el belowname esté activo; para volver a mostrarla, desactiva el belowname con belowname.enabled: false.

Hora y clima fijos por arena, mesas de todos los equipos y anuncios con su propio ritmo

La configuración de arena aplica la hora y el clima al iniciar la partida, la protección de mesas cubre a cada equipo y cada contexto de anuncios puede tener su propio intervalo.

La hora ya no cambia sola

Al elegir día, mediodía, atardecer, noche, medianoche o amanecer en /ptc arena config <arena>, PTC desactiva el ciclo día/noche y aplica esa hora al iniciar la partida. La arena se mantiene en la hora configurada en lugar de avanzar hasta la noche. También puedes usar /ptc selectmap-time <arena> <day|noon|sunset|night|midnight|sunrise>.

Clima por arena

El mismo menú permite elegir clima natural, despejado (sin lluvia ni nieve), lluvia o tormenta, y activar o desactivar el ciclo de clima. La opción elegida se aplica al iniciar la partida y se guarda en arenas.yml junto con weather-cycle.

Mesas de cada equipo protegidas

/ptc protectenchant <arena> set y /ptc protectcraft <arena> set protegen todas las mesas de ese tipo encontradas alrededor de cada spawn, núcleo y región BASE, además de la mesa que estés mirando. Las mesas guardadas con la arena no se pueden romper; una mesa nueva colocada por un jugador durante la partida sí se rompe.

Anuncios con intervalo por contexto

Además de announcements.interval-seconds, cada contexto acepta su propio ritmo en announcements.intervals.general|lobby|waiting|ptc|pcw|parkour (segundos, entre 60 y 86400). El anuncio rota dentro de su lista a ese ritmo y se aplica con /ptc reload.

Se guarda por arena: world-time, day-night-cycle, weather y weather-cycle viven en arenas.yml. Los cambios del menú se guardan al hacer clic y no reescriben otras arenas.

Madera, mesas protegidas, granjas exactas y una identidad de partida clara

La última revisión cierra los puntos pendientes de juego y deja todos los textos y catálogos en YAML editable.

Los troncos van al inventario y regeneran con los minerales

La detección cubre troncos, tallos, hifas, tablones, mosaicos, bambú, tallo de hongo, raíces de manglar y los tipos nuevos de 26.1 como PALE_OAK. Al picarlos en partida, sus drops pasan directamente al inventario (si no hay espacio, se avisa y no se rompe) y regeneran en el mismo ciclo que los minerales, cada 15 minutos por defecto (900 s), sin que las regiones de minerales consuman todo el presupuesto. arena-map.wood-materials y arena-map.regenerable-materials añaden materiales de otros plugins.

Mesas de encantamiento y trabajo protegidas

/ptc protectenchant <arena> set|remove|list y /ptc protectcraft <arena> set|remove|list protegen las mesas del tipo indicado en las zonas de los equipos, además de la mesa apuntada. Nadie puede romperlas en partida, pero se usan con normalidad; las mesas que coloca un jugador sí se rompen. La lista de mesas protegidas se guarda con la arena.

Granjas con cantidad exacta

Cada equipo y animal guarda su punto con /ptc setfarmspawn y su cantidad. Cada farms.check-interval-seconds (5 s) PTC cuenta los animales vivos y genera solo los que faltan hasta el máximo configurado; si matan 3 de 10, aparecen 3, no 10.

TAB de partida sin rangos

En lobby y espera la lista muestra rango + nick. En partida, PCW, Parkour y espectador el rango desaparece: se lee &c[R] Noob1 con la etiqueta del equipo y el nick en el color del equipo. Al elegir equipo en la espera, el nick cambia de color al instante.

Belowname de tres filas por contexto

Cada contexto trae su propia primera fila (nombre con rango en lobby/espera; etiqueta de equipo en partida), una segunda fila de datos y una tercera de corazones. Todo se edita en belowname.contexts.<contexto>.lines, con altura, tamaño, anclaje y animación por contexto.

Tienda y kits ampliados

Más libros encantados, espadas y herramientas preencantadas, tótem, elytra irrompible, cohetes, perlas, cargas de viento, botas de explorador y tridente con riptide, más kits Berserker, Tirador y Asesino. Todo se define en shop.yml y kits.yml.

Ayuda y mensajes de comando editables

mensajes_es.yml → help.entries.* contiene las líneas de cada página y commands.*, economy.*, stats.* y levels.* las respuestas de creación, borrado, protección, granjas, spawns, guardado, reparación, Coins, clasificaciones, niveles, votaciones, listado de arenas y clanes. Los marcadores se sustituyen al enviar y el archivo nunca se reescribe con valores de fábrica.

El color del mensaje manda

El prefijo &b&lPTC &7&l>> termina en reset y el cuerpo conserva exactamente el color y estilo configurados después de >>, sin gris heredado.

Sin recompilar: madera, mesas, granjas, TAB, belowname, tienda, kits, ayuda y mensajes se cambian desde los YAML de PTC-Games/ o mensajes_es.yml y se aplican con /ptc reload.

Arenas: guardar ya no bloquea la entrada, mapas más ligeros y reparación fiable

El guardado desde la edición termina en una arena jugable, el formato de copia se comprime por paleta y la reconstrucción reparte su carga por tick.

Entrada rápida: /ptc join random

Disponible para cualquier jugador sin permisos extra. Elige entre las arenas habilitadas, listas y con espacio, priorizando las que ya están en cuenta atrás y después la que más jugadores tiene; en caso de empate decide al azar.

Guardar desde mapsave no bloquea el mundo dedicado

La preparación del mundo aislado ignoraba el bloqueo de edición y el guardado fallaba con "la arena debe estar vacía"; ahora el guardado tiene prioridad y la arena se instala en ptc_<arena> sin marcar una reparación manual falsa. Si el aislamiento no puede prepararse, la copia se conserva y la arena sigue jugable en su mundo actual.

Motivo exacto al entrar

El menú de arenas y /ptc join muestran al staff el motivo real: límites, sala de espera, spawn de equipo, núcleo, copia base, restauración pendiente o edición activa, con el comando concreto para resolverlo.

Formato .ptcmap v3

La copia guarda solo el cubo de la arena —nunca el mundo completo— con una paleta de estados y repeticiones, SHA-256 y copia .bak. Las copias v2 antiguas se siguen leyendo; al volver a guardar se actualizan solas. El guardado comprime en segundo plano.

Reconstrucción y análisis más rápidos

Guardado y restauración respetan arena-map.max-millis-per-tick; el análisis usa instantáneas de chunk y omite secciones vacías con arena-map.analysis-max-millis-per-tick, revisando todos los bloques reales. La verificación integral posterior es opcional (arena-restoration.verify-after-restore: false) porque cada bloque e inventario ya se comprueba al aplicarse.

Menos altura por mapa

Al confirmar los límites con la varita, PTC usa el Y real de la selección más arena-map.selection-vertical-padding (24 por defecto), salvo que selection-full-height esté en true. Menos volumen significa archivos más pequeños y reparaciones más cortas.

Multiverse: sigue siendo opcional. PTC crea y carga sus mundos con Bukkit/Paper y guarda solo la región de la arena; Multiverse-Core no aporta copia de bloques ni restauración, y exigirlo no haría más rápida la reconstrucción.

Diseño propio que sobrevive al reload, anuncios en bloque y belowname visible

PTC deja de reescribir tus YAML al cargar: lo que guardas es lo que se muestra, incluido el TAB, los anuncios y los mensajes.

El TAB ya no vuelve al diseño predeterminado

tab_es.yml nunca se reescribe al arrancar ni con /ptc reload. PTC usa los valores empaquetados solo como respaldo en memoria para claves ausentes; la migración de formatos antiguos se aplica en memoria y nunca escribe el archivo, y cuando el archivo ya trae layout-version: 3 no se vuelve a aplicar. Puedes rediseñar todo el TAB y desactivar secciones sin perderlo. Si tu antiguo tab.yml es más reciente, se copia a tab_es.yml una vez y se guarda un .bak-*.

Anuncios de varias líneas, sin prefijo forzado

Cada entrada de announcements.* puede ser un bloque YAML: las líneas vacías como - '&f ' se envían tal cual. Por defecto el anuncio no lleva PTC >>; actívalo con announcements.use-prefix: true si lo quieres. El ritmo se ajusta por contexto en announcements.intervals.*.

El color del cuerpo ya no se hereda

El prefijo se transcribe exactamente como lo configures y termina en reset; el mensaje conserva su propio color y estilo después de >>. Cambiar o vaciar prefix en mensajes_es.yml se refleja al recargar.

Belowname visible y comprobable

y-offset: 2.6 y show-to-self: true hacen que las filas salgan sobre la cabeza y que el propio jugador pueda verlas. El formato antiguo (belowname.lines o listas planas) se conserva sin reescribir el archivo, y belowname.enabled: false lo apaga y devuelve la placa vanilla del nombre.

Regla general: guardar un archivo y ejecutar /ptc reload muestra exactamente lo guardado. Ningún módulo restaura valores predeterminados ni reescribe configuraciones en cada recarga; si una clave falta, el respaldo empaquetado se aplica solo en memoria. Las migraciones de versión que añaden una marca o un catálogo nuevo pueden escribir una sola vez en el arranque, nunca en cada recarga.

Cosméticos: diez estelas, permiso propio y un interruptor general

El menú pasa de tres a diez cosméticos funcionales, cada uno con su nodo y su precio, y el administrador puede apagar todo el módulo si usa otro plugin.

Diez cosméticos distintos

Corazones, fuego, alma, notas musicales, aldeano feliz, encantamiento, portal del End, pétalos de cerezo, copos de nieve y destellos de tótem. El menú usa 36 ranuras y los coloca en dos filas de cinco, con el botón de quitar y la ayuda en la parte inferior.

Un nodo por cosmético

ptc.cosmetic.heart, flame, soul, note, happy_villager, enchant, portal, cherry, snow y totem nacen en false y cuelgan de ptc.*. Con el nodo la estela se equipa gratis; sin él se puede comprar una vez con Coins y el desbloqueo queda guardado en la cuenta.

Tu config.yml no pierde cambios

Al arrancar, PTC añade a lobby.cosmetics.list solo las entradas que falten y marca la migración. Los precios, partículas y permisos que ya habías editado se respetan, y un cosmético que borraste no reaparece.

Compatible con otros plugins

lobby.cosmetics.enabled: false desactiva el módulo completo: no se entrega el tótem, el menú responde que está apagado y el temporizador deja de emitir partículas. Los desbloqueos comprados quedan guardados en lobby-progress.yml.

Requisitos: los cosméticos siguen siendo Premium y la estela solo se ve en el mundo de lobby.world. Las partículas personalizadas deben ser simples, sin datos extra, como las diez incluidas.

Mensajes, belowname y lista TAB: tres correcciones de visualización

El color del prefijo deja de arrastrarse al cuerpo del mensaje, la etiqueta sobre la cabeza vuelve a salir y la lista muestra rango + nick con el nick en blanco configurable.

El prefijo no tiñe el mensaje

&b&lPTC &7&l>> termina ahora en un reset interno. Antes, el &l del prefijo seguía activo después del espacio y todo el texto salía gris y en negrita; ahora cada línea conserva el color y el estilo con los que está configurada. El prefijo visible no cambia.

El belowname vuelve a verse

PTC acepta el formato nuevo (belowname.contexts.<contexto>.lines) y el antiguo (belowname.lines o listas planas), que se conserva sin reescribir el archivo. La altura por defecto es y-offset: 2.6, show-to-self: true deja que el propio jugador compruebe sus filas, la tarea del tick ya no puede morir por una excepción y al arrancar la consola avisa qué contexto se quedó sin filas.

Lista TAB con rango y nick

Los clientes nuevos ya no aplican el prefijo de equipo a la lista, así que PTC compone la fila: prefijo del rango + nick. El nick va en blanco por defecto y se cambia con list-nick-color en tab_es.yml; team usa el color del equipo en partida y cada contexto admite su propio list-nick-color.

Guía de TAB →
Tus archivos intactos: la migración de tab_es.yml se aplica en memoria y no reescribe el archivo, así que lo que edites y guardes se muestra tal cual tras /ptc reload. Si borras el archivo, PTC lo regenera al arrancar con los valores empaquetados.

Base de datos: un aviso por arranque, no una avalancha

Los mensajes [Database] de la consola dejan de repetirse cada segundo.

Una línea por tipo de aviso

La conexión establecida, el esquema inicializado y cada clase de fallo (monedas, nivel, clanes, Parkour, ledger) se imprimen una sola vez por arranque del servidor. El resto queda en el modo diagnóstico de /ptc debug.

Tablas antes que el primer guardado

El esquema se crea justo antes de la primera consulta de cada conexión, así que un guardado de Coins ya no puede adelantarse a las tablas ni lanzar no such table: ptc_players.

Reconexiones silenciosas

Si SQLite o MySQL se cae y se recupera, PTC sigue reintentando en silencio; solo la primera incidencia de cada tipo llega a la consola.

Configuración de almacenamiento →
Alcance: el cambio afecta al log, no a los datos. Si el aviso aparecía por un archivo de base de datos bloqueado o por credenciales incorrectas, el primer mensaje sigue indicando la causa real.

TAB reconstruido: fila limpia y hasta tres filas sobre la cabeza

La lista ya no arrastra el texto largo de rango, clan, nivel y corazones, y la etiqueta deja de perseguir al jugador.

Fila de lista dividida en dos formatos

Quien tiene prefijo de rango (pagos, staff) sale como rango + nick; el grupo default/usuario sale solo con el nick. La fila se compone explícitamente (los clientes nuevos ignoran el prefijo de equipo en la lista) y el nick usa list-nick-color: blanco por defecto, team para el color del equipo.

Etiqueta pegada a la cabeza

El TextDisplay se reposiciona cada tick y solo cuando el jugador se mueve, con follow-ticks ajustable. Ya no se queda rezagado al correr.

Varias filas configurables

belowname.contexts.<contexto>.lines acepta de 1 a 3 filas (clan y nivel, vida, progreso…), cada una animable, con altura, tamaño, alineación, sombra, opacidad y fondo editables por contexto o globales. Con anchor: top la primera fila no se mueve al añadir o quitar filas: el texto deja de salir en una sola línea recta.

Orden estable hasta 4095 filas

Primero los equipos, después el peso del grupo de LuckPerms y, al final, los jugadores sin rango solo con el nick. El puesto se codifica en tres dígitos de color invisibles, así que el orden ya no se rompe a partir de la fila 16.

Cabeceras con {rank_tag}

"Bienvenido/a SuNick" sin etiqueta suelta para quien no tiene rango; los rangos de pago y staff sí muestran el suyo. La plantilla vive en rank-tag-format.

Tu tab_es.yml se respeta

La actualización de formatos anteriores —prefijos con {rank} que leían la etiqueta de sin rango a todo el mundo, cabeceras con {player_rank} suelto, adornos que tapaban el rango, sufijos con toda la información en una línea y el belowname de lista— se aplica solo en memoria y no toca el archivo. Lo que hayas editado se conserva.

Alcance: las filas extra usan una entidad de texto invisible por jugador. Desactívala con belowname.enabled: false si prefieres no crear entidades. Detalla la configuración en la guía de TAB.

Cosméticos del lobby: permisos, compra y estela que sí se ve

El menú de partículas deja de equiparse a escondidas y pasa a ser un producto con nodo propio por cosmético.

Un permiso por cosmético, o compra con Coins

Los diez nodos ptc.cosmetic.* nacen en false. Con el nodo la estela se equipa gratis; sin el nodo el menú permite comprarla una vez con Coins y deja el desbloqueo guardado en la cuenta.

Diez efectos llamativos con precio propio

Cada estela tiene un efecto (aura, fountain, orbit, spiral, wave, halo, vortex, twirl, burst y nova) y un precio distinto de 6500 a 15000 Coins. Al pagar queda desbloqueada en la cuenta: se equipa y se quita desde el mismo menú sin volver a gastar.

Se añade desde el YAML

config.yml → lobby.cosmetics.list define icono, partícula, efecto, permiso y precio. Añadir una clave crea la entrada del menú; no hay que recompilar el plugin.

Estela por tick, no al caminar

Antes solo se emitían 2 partículas al cruzar un bloque, así que quieto no se veía nada. Ahora un temporizador (lobby.cosmetics.interval-ticks, lobby.cosmetics.particles) la pinta mientras el jugador esté en el lobby central.

Requisitos: la estela solo se ve en el mundo declarado en lobby.world y en la edición Premium. Los desbloqueos se guardan en lobby-progress.yml.

Clanes: acceso con permiso y nombres con diseño

Fundar y unirse dejan de ser gratuitos para todo el mundo, y el nombre admite colores.

Fundar sigue costando Coins y pide nodo

ptc.clan.create era obligatorio; se mantiene. El coste del módulo sigue aplicándose solo a quien tiene el permiso.

Unirse también se paga

Nuevo ptc.clan.join (por defecto false): sin él, aceptar una invitación se rechaza con su mensaje. Y ptc.clan pasa a false, así que los comandos de miembro quedan reservados a quien compró el acceso; help e info siguen abiertos.

Nombre con colores, hasta 18 caracteres

&a&lDestru&c&ltores es válido: los códigos de color no cuentan en la medida (3 a 18 visibles, ajustable en modules/clanes → settings.name-min-length/max). Se colorean en chat, menús y fichas, y los duplicados se comparan sin color.

Tag intacto

El tag sigue siendo de 2 a 6 caracteres alfanuméricos y en mayúsculas: es la clave que usan las salas PCW y las invitaciones.

Alcance: clanes y cosméticos se venden como permiso de LuckPerms (grupo o temporal con caducidad); PTC no cobra dinero real ni gestiona suscripciones. Detalle en la matriz de permisos.

Clanes: el líder decide quién entra y hay tope de miembros

Tener permiso para unirse ya no basta: falta la aceptación del dueño del clan.

Solicitud por chat

/ptc clan apply <clan> envía al líder un bloque con el nick, el nombre con colores, el tag y los comandos para responder. El solicitante recibe confirmación y, si el líder estaba desconectado, un recordatorio al entrar.

Aceptar o denegar

Solo el líder puede responder con /ptc clan accept <jugador> o /ptc clan deny <jugador> (alias aceptar/denegar/rechazar). El autocompletado del TAB ofrece los apodos pendientes; un miembro sin liderazgo obtiene su propio mensaje de aviso.

Invitación directa, sin paso extra

/ptc clan invite sigue existiendo: con invitación vigente basta /ptc clan join <tag>. Si además hay solicitud, PTC le recuerda que use el join.

250 miembros por clan

modules/clanes → settings.max-members (por defecto 250). Con el clan lleno se rechaza crear invitaciones, aceptar solicitudes y unirse, y /ptc clan info muestra (249/250). Las solicitudes caducan a los 120 segundos (settings.application-timeout-seconds).

Validación: la solicitud exige estar en línea, no pertenecer a otro clan y no duplicarse; la aceptación revalida que el destino siga sin clan y que queden huecos, y limpia el pendiente del resto de clanes.

Rangos: solo los de tu plugin de permisos

PTC ya no muestra sus nombres de nivel VIP en chat, TAB, nametags ni scoreboard.

Prefijos externos

El rango visible sale del prefijo de PlaceholderAPI, LuckPerms o Vault. Sin prefijo, la etiqueta sobre la cabeza se queda solo con el nick (default-prefix vacío y ranks.none vacío) y la lista TAB tampoco añade ninguna etiqueta. Si quieres una palabra para todos, escribe {rank} en default-prefix y dale texto a ranks.none de mensajes_es.yml.

DevOP solo sin plugin de permisos

DevOP aparece para operadores únicamente cuando no hay plugin de permisos instalado. El OP conserva todos los beneficios mediante ptc.*, sin rango visible.

Plantilla de seis rangos

Nuevo /ptc rangos con la guía para crear seis grupos y asignar ptc.rank.vip-iron … vip-amethyst. La consola avisa al arrancar qué proveedor de permisos se detectó.

Guía de rangos →

Corrección de Coins y multicoins

Son operaciones distintas; el comando de saldo no concede más rendimiento de recompensas.

Ajustar saldo

/ptc coins add <jugador> <cantidad> y remove modifican Coins directamente; set establece el saldo.

Aplicar multiplicador

/ptc multicoins <jugador> <x2-x250> <duración> concede un bono individual temporal únicamente sobre recompensas de juego. Acepta minutos, horas, días y meses de 30 días. Sin grant vigente se aplica x1.

Alias de saldo: give equivale a add; take, subtract, quitar y retirar equivalen a remove. Para modificar saldo, el jugador debe estar conectado. /ptc multicoins <jugador> reset retira el grant temporal. El tope histórico economy.max-reward-per-event se conserva solo para compatibilidad y ya no limita las recompensas de juego. Consulta la guía completa de comandos para ejemplos y restricciones.

Economía y rachas de combate

El multiplicador aplica sobre el premio base, no se suma al factor: una baja de 1 Coin entrega +2 con x2, nunca +3.

Entradas económicas protegidas

Las compras, los comandos de saldo y las entregas de Tebex no se multiplican. Se separaron del camino de recompensas para que un multicoins no altere abonos externos ni precios.

Premios de juego

Valores iniciales: baja 1, racha +5 cada 5 asesinatos, golpe efectivo de núcleo 1, bonificación adicional de destrucción final 10, victoria PTC 10 y MVP 3. Parkour otorga 10 por curso con su cooldown; PCW, 15 por victoria.

Compras progresivas

Los precios del catálogo no reciben multiplicador. Los artículos básicos siguen siendo asequibles; kits completos y mejoras superiores requieren varias partidas de ahorro, con sus valores configurables en PTC-Games/shop.yml y kits.yml.

El scoreboard de partida presenta Asesinatos, Muertes y Racha; al morir, las muertes aumentan incluso si la causa es ambiental y la racha vuelve a cero. Usa PTC-Games/scoreboard_es.yml para editar las filas.

Mejoras reflejadas en el proyecto

Organizadas por superficie funcional para facilitar la revisión.

Modularidad

Un único plugin agrupa PTC Games, PTC-Clanes, PCW-Core y Parkour-Core. Comparten persistencia/economía y mantienen directorios propios de configuración.

Arenas y mapas

Configuración de límites, spawns, núcleos, regiones, guardado de mapa y comandos de operación/repair desde PTC.

PCW multiclán

Salas configurables de 2-15 clanes y 1-15 jugadores por clan, invitaciones de clanes y participantes, confirmación por clan, apariciones numeradas y victoria para el último clan con supervivientes.

Presentación

Configuración de TAB, scoreboard y etiquetas por contexto, con prefijos/formatos y marcos animados editables.

Configuración

Archivos generales y de módulos, valores iniciales documentados y mensajes configurables según los recursos existentes.

Operación de Coins

Economía común entre modos; administración del saldo separada de la asignación de multiplicadores temporales.

Creación completa de Parkour

Creación de cursos por mapa, dos placas de selección por dificultad para marcar inicio/meta, checkpoints consecutivos, inicio automático al pisar la placa, caída al último checkpoint, récord por jugador y curso, XP PTC y premios con cooldown.

Salas PCW configurables

Compatibilidad con spawns antiguos red/blue y nuevos slots numerados. El flujo de salas multiclán se gestiona con comandos; no requiere GUI de selección o confirmación.

Identidad del jugador

Etiquetas animadas con rango, clan, nivel y corazones, además de encabezado, pie y sidebar propios para el contexto Parkour.

Últimos detalles de PCW y Parkour

Referencias para las nuevas herramientas de creación y configuración.

PCW: preparar el mapa

Define un spawn por clan con /pcw arena setspawn <arena> <slot 1-15>. La configuración admite hasta 15 clanes y 15 jugadores por clan; los clanes aceptan, confirman e invitan sus alineaciones con comandos.

Guía PCW y clanes →

Parkour: preparar el curso

Usa /pc create <mapa> <curso>, /pc wand <curso> y /pc checkpoint <número>. Al terminar inicio/meta y checkpoints, prueba el recorrido desde la placa antes de publicarlo.

Guía de Parkour →

Economía y localización

Los premios automáticos de Parkour, PCW, bajas, rachas y núcleos usan la economía compartida y el multiplicador activo, sin límite diario ni tope histórico por evento. Los mensajes activos del plugin se personalizan en los catálogos disponibles.

Comandos y Coins →

Cómo verificar una actualización

Este registro resume la verificación automatizada de esta revisión; no sustituye una prueba en vivo con tus mapas y plugins.

  1. Haz copia de la carpeta plugins/ProtectTheCore/ y de las bases de datos antes de sustituir artefactos.
  2. Revisa el nombre y la versión del JAR y confirma que solo instalas Free o Premium, no ambos.
  3. En staging, reinicia Paper y busca errores de carga, migración, YAML y base de datos en consola.
  4. Prueba el flujo de cada modo, permisos asignados, compras y recompensas, restauración de arena y Coins con cuentas de prueba.
  5. Compara los archivos generados con esta guía; las rutas y valores efectivos del servidor pueden diferir por migraciones o personalizaciones.
Alcance: los puntos anteriores describen funciones reflejadas en el código y recursos revisados, además de las pruebas automatizadas de esta versión. No se afirma que todas las combinaciones de Paper, plugins externos o mapas hayan sido ensayadas en un servidor en vivo.

Enlaces relacionados

Las páginas detalladas cubren la configuración y el uso de cada subsistema.