RPG Core
Présentation
RPG Core est la couche de progression d'un serveur BTC. C'est une grande extension (compilée sous le nom RPGBundle) qui regroupe le système de statistiques, un catalogue d'objets personnalisés avec panoplies et gemmes, des métiers avec niveaux, un niveau global, des sacs à dos et une garde-robe, un hôtel des ventes, des échanges sécurisés entre joueurs, des stations de fabrication personnalisées, une pêche personnalisée, des capacités de déplacement (ramper, enjamber, grimper) et des zones de corruption d'Ether.
Presque tout se configure dans une seule entrée, RPG Core Configuration, qui comporte une section par système. Les autres entrées sont de petites briques : des actions pour donner des objets ou modifier des statistiques, des facts pour les lire, des menus à ouvrir, et des artifacts pour stocker les données des joueurs.
L'idée centrale est le modèle de statistiques décrit plus bas : chaque joueur a des statistiques numériques (force, santé, chance de critique, vitesse...), l'équipement s'y ajoute, et le résultat pilote le combat, la récolte et les attributs vanilla.
Fonctionnalités
- Modèle de statistiques — 77 statistiques avec une valeur de base par joueur, des bonus provenant des objets équipés et des contraintes nommées.
- Catalogue d'objets — catégories d'objets personnalisés avec statistiques, rareté, niveaux requis et panoplies d'équipement avec bonus de panoplie.
- Métiers — niveaux, courbes d'XP, récompenses de niveau (statistiques permanentes et triggers), boosts, compétitions et un menu des métiers.
- Niveau global — un niveau pondéré calculé à partir des métiers et des quêtes, utilisé pour conditionner les capacités de déplacement et plus encore.
- Stockage — sacs à dos personnels et garde-robe (accessoires et élytres) sauvegardés dans des artifacts.
- Économie — un hôtel des ventes et un échange sécurisé de joueur à joueur avec une limite de monnaie glissante sur 24 heures.
- Fabrication — recettes personnalisées, enclume, meule, métier à tisser, alchimie, composteur, cartographie et établis avec des seuils de niveau.
- Déplacements — ramper avec un double appui sur la touche de furtivité, enjambement et escalade de mur automatiques, avec des animations BetterModel facultatives.
- Corruption — des zones de corruption d'Ether qui se propagent, peuvent être purifiées et font apparaître des mobs corrompus.
- Commandes — outils d'administration pour les statistiques, les métiers, les objets, les boosts et les inventaires, ainsi que des commandes joueur pour les enchères, les échanges, le recyclage et le déblocage.
Installation
- Installez l'extension GUI : les menus (métiers, sac à dos, garde-robe, enchères, échanges) sont rendus avec elle.
- Installez un plugin d'économie compatible Vault (Vault) si vous utilisez l'hôtel des ventes ou les échanges avec l'économie par défaut.
- Installez éventuellement UiCore (menus et HUD de progression), BTCMobs (mobs corrompus, groupes de mobs), Profiles, Party et BTC Sky pour les intégrations qui les lisent.
- Placez le JAR de RPG Core dans
plugins/Typewriter/extensions/et redémarrez le serveur.
Premiers pas
- Dans le panneau web de TypeWriter, ouvrez une page statique et ajoutez un artifact Player State : il stocke les statistiques de base et les effets de chaque joueur.
- Ajoutez un artifact Profession Data si vous utilisez des métiers.
- Ajoutez l'entrée RPG Core Configuration. Dans
stats, définissezartifactsur l'artifact Player State. Laissezstats.statsvide pour charger les valeurs par défaut intégrées, ou ajoutez des éléments pour remplacer le nom d'affichage, la valeur par défaut,minValue,maxValueoudisplayFormatd'une statistique. Dansprofessions, définissezartifactsur l'artifact Profession Data et ajoutez un métier. - Dans
items, ajoutez une catégorie et un objet de catalogue avec desstatstelles queSTRENGTHetHEALTHet unerarity. - Publiez. Donnez-vous l'objet avec
/rpgitem give, équipez-le, et vérifiez la valeur avec/rpgstat info <player> STRENGTH. - Déclenchez des actions telles que Give BTC Item, Add Stat ou Profession Grant XP depuis des quêtes et des PNJ.
Créez une seule entrée RPG Core Configuration et gardez une source de vérité unique pour toutes les sections.
Fonctionnement
Le modèle de statistiques comporte quatre couches.
- Définition. Chaque statistique est un identifiant fixe (
STRENGTH,HEALTH,CRIT_CHANCE,SPEED,MINING_EFFICIENCY...). Chacune a une portée (PLAYER: seule la statistique de base du joueur peut la porter ;ITEM: uniquement les bonus d'équipement ;BOTH) et une unité qui indique comment elle est stockée : unités vanilla absolues (points de vie, armure), un pourcentage de la base vanilla (vitesse,100= vanilla), une fraction de 0 à 1 (chance de critique, résistances), un multiplicateur où 1 est neutre, des points de pourcentage additifs, ou de simples points. L'unité est intrinsèque à la statistique ; la configuration ne peut pas la modifier. - Valeur de base. Chaque joueur a une valeur de base persistante par statistique, qui part de la
defaultValuede la statistique et est sauvegardée dans l'artifact Player State. Elle change via Add Stat, Remove Stat, les récompenses de niveau de métier (stats) et/rpgstat. Elle est arrondie à 2 décimales (entiers pour les statistiquesINTEGER) et bornée entreminValueetmaxValue. - Bonus d'équipement. Chaque fois que l'équipement change, l'extension recalcule les bonus du casque, du plastron, des jambières, des bottes, de la main principale, de la seconde main et de la page de garde-robe active. Pour chaque objet porté, elle ajoute les statistiques de sa définition de catalogue, le composant de statistiques stocké sur l'objet, et les enchantements vanilla associés à des statistiques. Les objets dont les niveaux de métier requis ne sont pas atteints ne donnent rien. Les statistiques de portée
PLAYERignorent l'équipement. Ces bonus sont temporaires et jamais sauvegardés. - Contraintes. Constrain Stat maintient une statistique entre un
minet unmaxsous unesourcenommée jusqu'à ce que Release Stat Constraint la lève : une arène de duel qui plafonne l'attaque, une salle maudite qui réduit la défense. Plusieurs contraintes se resserrent mutuellement (plancher le plus haut, plafond le plus bas ; le plafond l'emporte en cas de conflit).
La valeur totale est base + equipment, bornée, puis contrainte. Les statistiques qui correspondent à un attribut vanilla (santé, armure, vitesse, dégâts d'attaque, force de saut, allonge...) sont poussées vers cet attribut avec la conversion d'unité ; les autres sont lues par le code qui en a besoin : chance et dégâts de critique, vol de vie, esquive, blocage, doubles drops, efficacité de minage et de bûcheronnage, force de pêche, boost d'XP de métier, etc.
Temporary Stat ajoute une statistique pour une durée (potions, buffs). Lisez une statistique dans une condition avec Player Stat, qui renvoie la valeur multipliée par scale et arrondie.
Configuration
Tout ce qui suit est une section de RPG Core Configuration.
| Section | Ce qu'elle configure |
|---|---|
items | Catalogue d'objets (catégories, objets, rareté, prérequis), panoplies d'équipement et gemmes. |
stats | L'artifact Player State, les surcharges par statistique, les options globales (régénération, critique, vol de vie, efficacité, groupes de mobs, butin bonus) et les messages de commande. |
professions | La liste des métiers, les niveaux, la courbe d'XP et les récompenses, le menu des métiers et les messages. |
inventory | Dispositions et stockage du sac à dos et de la garde-robe. |
auction | Taxes, durées, économie et menus de l'hôtel des ventes. |
trade | Échange sécurisé : distance, durée de vie des demandes, limite de pile, limite de monnaie sur 24 heures, artifact de registre, économie et menu. |
movement | Paliers de ramper, d'enjambement et d'escalade, seuils de niveau global, animations BetterModel. |
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrial | Recettes et établis personnalisés, chacun conditionné par des niveaux ou des délais. |
fishing, gathering, mobTrap | Pêche personnalisée (y compris dans la lave et le vide), récolte de ressources unifiée (XP, butin, seuils) et capture de mobs. |
boosts, globalLevel, respawn, recycling, divers, beacon | Boosts temporaires, formule du niveau global, réapparition conditionnelle, recyclage, résine et balise d'île. |
etherCorruption | Zones de corruption d'Ether. |
combatFeedback, vanillaTooltip | Nombres de dégâts, barres de vie et infobulles vanilla masquées. |
Commandes
Toutes les commandes sont enregistrées au démarrage avec leurs alias. Les commandes d'administration nécessitent borntocraft.rpg.admin.
| Commande (alias) | Permission | Description |
|---|---|---|
/rpgstat (statadmin, btcstat) | borntocraft.rpg.admin | list, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Les statistiques de portée ITEM ne peuvent pas être modifiées directement. |
/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 (réapplique les statistiques des joueurs en ligne), 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 pour les recettes. |
/rpginventory (btcinv, inventoryadmin) | borntocraft.rpg.admin | backpack <list|open|reset>, wardrobe <open|info>, list. |
/rpgboost (boost, xpboost) | borntocraft.rpg.admin | give, clear, list des boosts d'XP de métier. |
/questrewardreset (qrr, resetquestreward) | btc.admin.questrewardreset | <menuId> <player|all> : réinitialise les réclamations d'un Quest Reward Menu. |
/rpgauction (ah, auction) | aucune | browse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (admin). |
/rpgtrade (trade, p2ptrade) | aucune | <player> ouvre une demande ; accept <id>, deny <id>, money <amount>, confirm, cancel. |
/rpgrecycling (recycling, recycle) | aucune | Ouvre le menu de recyclage. |
/unstick (rollback) | aucune | Déclenche l'entrée dont l'identifiant est action:system_unstick ; elle répond par une erreur si cette entrée n'existe pas. |
Permissions
| Permission | Autorise |
|---|---|
borntocraft.rpg.admin | Toutes les commandes d'administration ci-dessus. |
btc.admin.questrewardreset | /questrewardreset. |
Placeholders
RPG Core enregistre l'expansion MiniPlaceholders btc. Voir Placeholders pour la liste complète.
Entrées
42 entrées, générées depuis la source de l'extension.
Actions24
- 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
Événements4
- On Corrupted Mob SpawnOn Corrupted Mob Spawn
- On Corruption PurifiedOn Corruption Purified
- On Corruption SpreadOn Corruption Spread
- On Player Corruption ExposureOn Player Corruption Exposure
Faits6
- 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
Audiences1
- BTC Quest Item AudienceForces players to keep an item in their inventory with full control
Artefacts6
- 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
Manifestes1
- BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)
Dépannage
No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. Rien n'est chargé sans l'entrée de configuration. Ajoutez-en une et publiez.
Les statistiques se réinitialisent ou ne sont pas sauvegardées. stats.artifact est vide ou pointe vers un artifact manquant : les statistiques de base ne sont alors conservées qu'en mémoire. Liez un artifact Player State. Il en va de même pour professions.artifact pour la progression des métiers.
Un objet ne donne aucune statistique. Vérifiez l'identifiant de la statistique (des alias tels que ATTACK_DAMAGE ou MAX_HEALTH sont acceptés), que l'objet est porté dans un emplacement d'armure, de main ou de garde-robe active, que le joueur remplit ses requirements de métier, et que la portée de la statistique n'est pas PLAYER. Une statistique listée dans la configuration avec un displayFormat doit contenir {value}, et un minValue ne doit pas dépasser maxValue, sinon la configuration échoue au chargement.
percentageMultiplier must be ... au chargement. Pour les statistiques dont l'unité est fixe (par exemple les fractions et les multiplicateurs utilisent 100, les statistiques en pourcentage du vanilla utilisent 1), le multiplicateur d'affichage est vérifié. Retirez la surcharge ou utilisez la valeur indiquée dans l'erreur.
/rpgstat set refuse une statistique. Il indique que la statistique est réservée aux objets : sa portée est ITEM, donc seul l'équipement peut la porter. Utilisez un objet ou une statistique temporaire.
/unstick indique que l'action n'est pas configurée. Créez une entrée déclenchable avec l'identifiant action:system_unstick.
L'hôtel des ventes ou l'échange ne peut pas déplacer d'argent. L'économie par défaut est Vault : installez Vault et un fournisseur d'économie, ou configurez l'adaptateur d'économie de la section.