RPG Core
Descripción general
RPG Core es la capa de progresión de un servidor BTC. Es una gran extensión (compilada con el nombre RPGBundle) que agrupa el sistema de estadísticas, un catálogo de objetos personalizados con conjuntos y gemas, profesiones con niveles, un nivel global, mochilas y armario, una casa de subastas, comercio seguro entre jugadores, estaciones de fabricación personalizadas, pesca personalizada, habilidades de movimiento (gatear, saltar obstáculos, trepar) y zonas de corrupción de Ether.
Casi todo se configura en una sola entrada, RPG Core Configuration, que tiene una sección por sistema. Las demás entradas son pequeños bloques de construcción: acciones para dar objetos o cambiar estadísticas, hechos para leerlas, menús que abrir y artefactos para almacenar los datos de los jugadores.
La idea central es el modelo de estadísticas que se describe más abajo: cada jugador tiene estadísticas numéricas (fuerza, salud, probabilidad de crítico, velocidad...), el equipo suma a ellas y el resultado determina el combate, la recolección y los atributos vanilla.
Características
- Modelo de estadísticas: 77 estadísticas con un valor base por jugador, bonificaciones de los objetos equipados y restricciones con nombre.
- Catálogo de objetos: categorías de objetos personalizados con estadísticas, rareza, requisitos de nivel y conjuntos de equipo con bonificaciones de conjunto.
- Profesiones: niveles, curvas de XP, recompensas por nivel (estadísticas permanentes y disparadores), potenciadores, competiciones y un menú de profesiones.
- Nivel global: un nivel ponderado calculado a partir de las profesiones y las misiones, usado para restringir habilidades de movimiento y más.
- Almacenamiento: mochilas personales y un armario (accesorios y élitros) guardados en artefactos.
- Economía: una casa de subastas y un comercio seguro de jugador a jugador con un límite de moneda móvil de 24 horas.
- Fabricación: recetas personalizadas, yunque, piedra de afilar, telar, alquimia, compostador, cartografía y estaciones de trabajo con restricciones por nivel.
- Movimiento: gatear con un doble agachado, salto automático de obstáculos y trepa de paredes, con animaciones opcionales de BetterModel.
- Corrupción: zonas de corrupción de Ether que se extienden, se pueden purificar y generan mobs corruptos.
- Comandos: herramientas de administración para estadísticas, profesiones, objetos, potenciadores e inventarios, además de comandos de jugador para subastas, comercio, reciclaje y desatascarse.
Instalación
- Instala la extensión GUI: los menús (profesiones, mochila, armario, subasta, comercio) se renderizan con ella.
- Instala un plugin de economía compatible con Vault (Vault) si usas la casa de subastas o el comercio con la economía por defecto.
- Opcionalmente, instala UiCore (menús y HUD de progresión), BTCMobs (mobs corruptos, grupos de mobs), Profiles, Party y BTC Sky para las integraciones que los leen.
- Coloca el JAR de RPG Core en
plugins/Typewriter/extensions/y reinicia el servidor.
Primeros pasos
- En el panel web de TypeWriter, abre una página estática y añade un artefacto Player State: almacena las estadísticas base y los efectos de cada jugador.
- Añade un artefacto Profession Data si usas profesiones.
- Añade la entrada RPG Core Configuration. En
stats, estableceartifacten el artefacto Player State. Dejastats.statsvacío para cargar los valores por defecto integrados, o añade elementos para sobrescribir el nombre visible, el valor por defecto,minValue,maxValueodisplayFormatde una estadística. Enprofessions, estableceartifacten el artefacto Profession Data y añade una profesión. - En
items, añade una categoría y un objeto del catálogo constatscomoSTRENGTHyHEALTHy unararity. - Publica. Date el objeto con
/rpgitem give, equípatelo y comprueba el valor con/rpgstat info <player> STRENGTH. - Activa acciones como Give BTC Item, Add Stat o Profession Grant XP desde misiones y NPC.
Crea una única entrada RPG Core Configuration y mantén una sola fuente de verdad para todas las secciones.
Cómo funciona
El modelo de estadísticas tiene cuatro capas.
- Definición. Cada estadística es un identificador fijo (
STRENGTH,HEALTH,CRIT_CHANCE,SPEED,MINING_EFFICIENCY...). Cada una tiene un ámbito (PLAYER: solo la estadística base del jugador puede contenerla;ITEM: solo las bonificaciones del equipo;BOTH) y una unidad que indica cómo se almacena: unidades vanilla absolutas (puntos de salud, armadura), un porcentaje de la base vanilla (velocidad,100= vanilla), una fracción de 0 a 1 (probabilidad de crítico, resistencias), un multiplicador en el que 1 es neutro, puntos porcentuales aditivos o puntos simples. La unidad es intrínseca a la estadística; la configuración no puede cambiarla. - Valor base. Cada jugador tiene un valor base persistente por estadística, que empieza en el
defaultValuede la estadística y se guarda en el artefacto Player State. Cambia mediante Add Stat, Remove Stat, las recompensas por nivel de profesión (stats) y/rpgstat. Se redondea a 2 decimales (enteros para las estadísticasINTEGER) y se limita entreminValueymaxValue. - Bonificaciones de equipo. Cada vez que cambia el equipo, la extensión recalcula las bonificaciones del casco, la pechera, los pantalones, las botas, la mano principal, la mano secundaria y la página activa del armario. Por cada objeto que se lleva, suma las estadísticas de su definición en el catálogo, el componente de estadísticas almacenado en el objeto y los encantamientos vanilla asignados a estadísticas. Los objetos cuyos requisitos de nivel de profesión no se cumplen no dan nada. Las estadísticas con ámbito
PLAYERignoran el equipo. Estas bonificaciones son temporales y nunca se guardan. - Restricciones. Constrain Stat mantiene una estadística entre un
miny unmaxbajo unsourcecon nombre hasta que Release Stat Constraint la levanta: una arena de duelos que limita el ataque, una sala maldita que reduce la defensa. Varias restricciones se estrechan entre sí (el suelo más alto, el techo más bajo; en caso de conflicto prevalece el techo).
El valor total es base + equipment, limitado y después restringido. Las estadísticas que coinciden con un atributo vanilla (salud, armadura, velocidad, daño de ataque, fuerza de salto, alcance...) se envían a ese atributo con la conversión de unidad; las demás las leen los códigos que las necesitan: probabilidad y daño de crítico, robo de vida, esquiva, bloqueo, doble botín, eficiencia de minería y de tala, fuerza de pesca, potenciador de XP de profesión, etc.
Temporary Stat añade una estadística durante un tiempo (pociones, mejoras). Lee una estadística en una condición con Player Stat, que devuelve el valor multiplicado por scale y redondeado.
Configuración
Todo lo siguiente es una sección de RPG Core Configuration.
| Sección | Qué configura |
|---|---|
items | Catálogo de objetos (categorías, objetos, rareza, requisitos), conjuntos de equipo y gemas. |
stats | El artefacto Player State, sobrescrituras por estadística, opciones globales (regeneración, crítico, robo de vida, eficiencia, grupos de mobs, botín adicional) y mensajes de comandos. |
professions | La lista de profesiones, niveles, curva de XP y recompensas, el menú de profesiones y los mensajes. |
inventory | Layouts y almacenamiento de la mochila y del armario. |
auction | Impuestos, duraciones, economía y menús de la casa de subastas. |
trade | Comercio seguro: distancia, duración de las solicitudes, límite de pila, límite de moneda de 24 horas, artefacto del libro de registro, economía y menú. |
movement | Niveles de gateo, salto de obstáculos y trepa, restricciones por nivel global, animaciones de BetterModel. |
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrial | Recetas y estaciones de trabajo personalizadas, cada una restringida por niveles o retrasos. |
fishing, gathering, mobTrap | Pesca personalizada (incluidas la lava y el vacío), recolección unificada de recursos (XP, botín, restricciones) y captura de mobs. |
boosts, globalLevel, respawn, recycling, divers, beacon | Potenciadores temporales, la fórmula del nivel global, reaparición condicional, reciclaje, resina y la baliza de isla. |
etherCorruption | Zonas de corrupción de Ether. |
combatFeedback, vanillaTooltip | Números de daño, barras de salud y tooltips vanilla ocultos. |
Comandos
Todos los comandos se registran al arrancar con sus alias. Los comandos de administración necesitan borntocraft.rpg.admin.
| Comando (alias) | Permiso | Descripción |
|---|---|---|
/rpgstat (statadmin, btcstat) | borntocraft.rpg.admin | list, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Las estadísticas con ámbito ITEM no se pueden cambiar directamente. |
/rpgadmin (rpgadm) | borntocraft.rpg.admin | stat <player> <stat> <get|set|reset> [value], profession <player> <profession> <get|setlevel|reset> [value], boost <player> <stat> <amount> <seconds>, corruption <create|remove|list>, mana <player> <set|give|get>, reload (vuelve a aplicar las estadísticas de los jugadores conectados), debug <player>. |
/rpgprofession (profes, prof) | borntocraft.rpg.admin | addxp, removexp, setxp, addlevel, setlevel, reset, info, list, menu. |
/rpgitem (btcitem, customitem) | borntocraft.rpg.admin | give, remove, list, info, menu. |
/rpgcraft (craftadmin, btccraft) | borntocraft.rpg.admin | list, inspect, preview, menu para recetas. |
/rpginventory (btcinv, inventoryadmin) | borntocraft.rpg.admin | backpack <list|open|reset>, wardrobe <open|info>, list. |
/rpgboost (boost, xpboost) | borntocraft.rpg.admin | give, clear, list de los potenciadores de XP de profesión. |
/questrewardreset (qrr, resetquestreward) | btc.admin.questrewardreset | <menuId> <player|all>: restablece las reclamaciones de un Quest Reward Menu. |
/rpgauction (ah, auction) | ninguno | browse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (administración). |
/rpgtrade (trade, p2ptrade) | ninguno | <player> abre una solicitud; accept <id>, deny <id>, money <amount>, confirm, cancel. |
/rpgrecycling (recycling, recycle) | ninguno | Abre el menú de reciclaje. |
/unstick (rollback) | ninguno | Activa la entrada cuyo id es action:system_unstick; responde con un error si esa entrada no existe. |
Permisos
| Permiso | Concede |
|---|---|
borntocraft.rpg.admin | Todos los comandos de administración anteriores. |
btc.admin.questrewardreset | /questrewardreset. |
Placeholders
RPG Core registra la expansión de MiniPlaceholders btc. Consulta Placeholders para ver la lista completa.
Entradas
42 entradas, generadas a partir del código fuente de la extensión.
Acciones24
- BTC Backpack MenuBTC Backpack Menu
- BTC Effect ImmunityRend immunisé à des effets vanilla pendant une durée
- BTC Give Item ActionGive a BTC custom item to the player
- BTC Keep ExperienceConserve une part de l'expérience à la mort
- BTC Movement ActionTrigger an RPG Core movement action
- BTC Profession Grant XPGrant experience to a profession
- BTC Profession XP PotionAccélère l'expérience d'un métier pendant une durée
- BTC Remove Item ActionRemove a BTC custom item from the player
- BTC Reveal CreaturesFait luire les créatures proches d'une nature donnée
- BTC Slow RegenerationRend de la vie lentement pendant une durée
- BTC Stat Add ActionIncrease a player's BTC stat by the configured amount
- BTC Stat Remove ActionDecrease a player's BTC stat by the configured amount
- BTC Temporary StatApplique une statistique RPGCore pendant une durée, puis la retire
- BTC Wardrobe MenuBTC Wardrobe Menu
- Constrain Player StatHold a player statistic between bounds while they are somewhere
- Create Corruption ZoneCreate Corruption Zone
- Purify Corruption ZonePurify Corruption Zone
- Quest Reward MenuPersistent reward menu where players can claim items once
- Release Player Stat ConstraintLift a constraint held on a player statistic
- RPG Profession MenuRPG Core Profession Menu
- Spawn Corrupted MobSpawn Corrupted Mob
- Start Profession CompetitionDémarrer un concours de métier
- Stop Profession CompetitionArrêter un concours de métier
- Unlock RecipeUnlocks a specific crafting recipe for the player by its NamespacedKey
Eventos4
- On Corrupted Mob SpawnOn Corrupted Mob Spawn
- On Corruption PurifiedOn Corruption Purified
- On Corruption SpreadOn Corruption Spread
- On Player Corruption ExposureOn Player Corruption Exposure
Hechos6
- BTC Item Count FactCount custom BTC items in a player's inventory
- BTC Player Stat FactThe value of an RPGCore statistic for the player
- Corruption Level FactCorruption Level
- Corruption Zone Count FactCorruption Zone Count
- Profession Currency FactRevenus d'un métier
- Purification Progress FactPurification Progress
Audiencias1
- BTC Quest Item AudienceForces players to keep an item in their inventory with full control
Artefactos6
- Backpack Storage ArtifactEtat persistant des backpacks BornToCraft
- BTC Auction House ArtifactBTC Auction House
- BTC Player State ArtifactArtefact pour stocker l'état complet des joueurs (stats + effets)
- BTC Player Trade ArtifactBTC Player Trade Ledger
- Profession Data ArtifactArtifact unifié stockant les données de TOUTES les professions d'un joueur (niveaux, XP, boosts, etc.)
- Wardrobe Storage ArtifactEtat persistant de la wardrobe BornToCraft
Manifiestos1
- BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)
Resolución de problemas
No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. No se carga nada sin la entrada de configuración. Añade una y publica.
Las estadísticas se restablecen o no se guardan. stats.artifact está vacío o apunta a un artefacto inexistente: las estadísticas base solo se conservan entonces en memoria. Enlaza un artefacto Player State. Lo mismo se aplica a professions.artifact para el progreso de las profesiones.
Un objeto no da estadísticas. Comprueba el id de la estadística (se aceptan alias como ATTACK_DAMAGE o MAX_HEALTH), que el objeto se lleva en una ranura de armadura, de mano o del armario activo, que el jugador cumple los requirements de profesión del objeto y que el ámbito de la estadística no es PLAYER. Una estadística enumerada en la configuración con un displayFormat debe contener {value}, y un minValue no debe superar a maxValue; de lo contrario la configuración no se carga.
percentageMultiplier must be ... al cargar. Para las estadísticas cuya unidad es fija (por ejemplo, las fracciones y los multiplicadores usan 100 y las estadísticas de porcentaje de vanilla usan 1), se comprueba el multiplicador de visualización. Elimina la sobrescritura o usa el valor que indica el error.
/rpgstat set rechaza una estadística. Dice que la estadística es solo de objeto: su ámbito es ITEM, por lo que solo el equipo puede contenerla. Usa un objeto o una estadística temporal.
/unstick dice que la acción no está configurada. Crea una entrada activable con el id action:system_unstick.
La casa de subastas o el comercio no pueden mover dinero. La economía por defecto es Vault: instala Vault y un proveedor de economía, o configura el adaptador de economía de la sección.