RPG Core
Visão geral
O RPG Core é a camada de progressão de um servidor BTC. É uma extensão grande (compilada sob o nome RPGBundle) que reúne o sistema de atributos, um catálogo de itens personalizados com sets e gemas, profissões com níveis, um nível global, mochilas e guarda-roupa, uma casa de leilões, troca segura entre jogadores, estações de criação personalizadas, pesca personalizada, habilidades de movimento (engatinhar, saltar obstáculos, escalar) e zonas de corrupção do Ether.
Quase tudo é configurado em uma única entry, a RPG Core Configuration, que tem uma seção para cada sistema. As outras entries são pequenos blocos de construção: ações para dar itens ou alterar atributos, facts para lê-los, menus para abrir e artifacts para armazenar dados dos jogadores.
A ideia central é o modelo de atributos descrito abaixo: todo jogador tem atributos numéricos (força, vida, chance de crítico, velocidade...), o equipamento soma a eles, e o resultado controla o combate, a coleta e os atributos vanilla.
Recursos
- Modelo de atributos — 77 atributos com um valor base por jogador, bônus de itens equipados e restrições nomeadas.
- Catálogo de itens — categorias de itens personalizados com atributos, raridade, requisitos de nível e sets de equipamento com bônus de set.
- Profissões — níveis, curvas de XP, recompensas de nível (atributos permanentes e triggers), boosts, competições e um menu de profissões.
- Nível global — um nível ponderado calculado a partir de profissões e quests, usado para liberar habilidades de movimento e mais.
- Armazenamento — mochilas pessoais e um guarda-roupa (acessórios e elytras) salvos em artifacts.
- Economia — uma casa de leilões e uma troca segura entre jogadores com um limite de moeda em janela móvel de 24 horas.
- Criação — receitas personalizadas, bigorna, rebolo, tear, alquimia, composteira, cartografia e estações de trabalho com bloqueios por nível.
- Movimento — engatinhar com agachamento duplo, salto automático de obstáculos e escalada de paredes, com animações opcionais do BetterModel.
- Corrupção — zonas de corrupção do Ether que se espalham, podem ser purificadas e geram mobs corrompidos.
- Comandos — ferramentas de admin para atributos, profissões, itens, boosts e inventários, além de comandos de jogador para leilão, troca, reciclagem e unstick.
Instalação
- Instale a extensão GUI: os menus (profissões, mochila, guarda-roupa, leilão, troca) são renderizados com ela.
- Instale um plugin de economia compatível com o Vault (Vault) se usar a casa de leilões ou a troca com a economia padrão.
- Opcionalmente, instale o UiCore (menus e HUD de progressão), o BTCMobs (mobs corrompidos, grupos de mobs), o Profiles, o Party e o BTC Sky para as integrações que os leem.
- Coloque o JAR do RPG Core em
plugins/Typewriter/extensions/e reinicie o servidor.
Primeiros passos
- No painel web do TypeWriter, abra uma page static e adicione um artifact Player State: ele armazena os atributos base e os efeitos de cada jogador.
- Adicione um artifact Profession Data se usar profissões.
- Adicione a entry RPG Core Configuration. Em
stats, definaartifactcomo o artifact Player State. Deixestats.statsvazio para carregar os padrões embutidos, ou adicione itens para sobrescrever o nome de exibição, o padrão,minValue,maxValueoudisplayFormatde um atributo. Emprofessions, definaartifactcomo o artifact Profession Data e adicione uma profissão. - Em
items, adicione uma categoria e um item de catálogo comstatscomoSTRENGTHeHEALTHe umararity. - Publique. Dê o item a você mesmo com
/rpgitem give, vista-o e confira o valor com/rpgstat info <player> STRENGTH. - Dispare ações como Give BTC Item, Add Stat ou Profession Grant XP a partir de quests e NPCs.
Crie uma única entry RPG Core Configuration e mantenha uma única fonte da verdade para todas as seções.
Como funciona
O modelo de atributos tem quatro camadas.
- Definição. Todo atributo é um identificador fixo (
STRENGTH,HEALTH,CRIT_CHANCE,SPEED,MINING_EFFICIENCY...). Cada um tem um escopo (PLAYER: apenas o atributo base do jogador pode contê-lo;ITEM: apenas bônus de equipamento;BOTH) e uma unidade que diz como ele é armazenado: unidades vanilla absolutas (pontos de vida, armadura), uma porcentagem da base vanilla (velocidade,100= vanilla), uma fração de 0 a 1 (chance de crítico, resistências), um multiplicador em que 1 é neutro, pontos percentuais aditivos ou pontos simples. A unidade é intrínseca ao atributo; a configuração não pode alterá-la. - Valor base. Cada jogador tem um valor base persistente por atributo, começando no
defaultValuedo atributo, salvo no artifact Player State. Ele muda por meio de Add Stat, Remove Stat, recompensas de nível de profissão (stats) e/rpgstat. É arredondado para 2 casas decimais (inteiros para atributosINTEGER) e limitado entreminValueemaxValue. - Bônus de equipamento. Sempre que o equipamento muda, a extensão recalcula os bônus do capacete, peitoral, calças, botas, mão principal, mão secundária e da página ativa do guarda-roupa. Para cada item vestido, ela soma os atributos da definição no catálogo, o componente de atributos armazenado no item e os encantamentos vanilla mapeados para atributos. Itens cujos requisitos de nível de profissão não são atendidos não dão nada. Os atributos com escopo
PLAYERignoram o equipamento. Esses bônus são temporários e nunca são salvos. - Restrições. Constrain Stat mantém um atributo entre um
mine ummaxsob umsourcenomeado até que Release Stat Constraint o libere: uma arena de duelo que limita o ataque, um salão amaldiçoado que reduz a defesa. Várias restrições se apertam mutuamente (maior piso, menor teto; o teto vence em caso de conflito).
O valor total é base + equipment, limitado e depois restringido. Os atributos que correspondem a um atributo vanilla (vida, armadura, velocidade, dano de ataque, força de salto, alcance...) são enviados a esse atributo com a conversão de unidade; os demais são lidos pelo código que precisa deles: chance e dano de crítico, roubo de vida, esquiva, bloqueio, drops duplos, eficiência de mineração e de corte de madeira, força de pesca, boost de XP de profissão e assim por diante.
Temporary Stat adiciona um atributo por uma duração (poções, buffs). Leia um atributo em uma condição com Player Stat, que retorna o valor multiplicado por scale e arredondado.
Configuração
Tudo abaixo é uma seção de RPG Core Configuration.
| Seção | O que ela configura |
|---|---|
items | Catálogo de itens (categorias, itens, raridade, requisitos), sets de equipamento e gemas. |
stats | O artifact Player State, sobrescritas por atributo, opções globais (regeneração, crítico, roubo de vida, eficiência, grupos de mobs, loot bônus) e mensagens de comandos. |
professions | A lista de profissões, níveis, curva de XP e recompensas, o menu de profissões e mensagens. |
inventory | Layouts e armazenamento da mochila e do guarda-roupa. |
auction | Impostos, durações, economia e menus da casa de leilões. |
trade | Troca segura: distância, duração do pedido, limite de pilha, limite de moeda em 24 horas, artifact de registro, economia e menu. |
movement | Níveis de engatinhar, saltar obstáculos e escalar, bloqueios por nível global, animações do BetterModel. |
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrial | Receitas e estações de trabalho personalizadas, cada uma controlada por níveis ou atrasos. |
fishing, gathering, mobTrap | Pesca personalizada (incluindo lava e void), coleta unificada de recursos (XP, loot, bloqueios) e captura de mobs. |
boosts, globalLevel, respawn, recycling, divers, beacon | Boosts temporários, a fórmula do nível global, respawn condicional, reciclagem, resina e o beacon da ilha. |
etherCorruption | Zonas de corrupção do Ether. |
combatFeedback, vanillaTooltip | Números de dano, barras de vida e tooltips vanilla ocultos. |
Comandos
Todos os comandos são registrados na inicialização com seus aliases. Os comandos de admin exigem borntocraft.rpg.admin.
| Comando (aliases) | Permissão | Descrição |
|---|---|---|
/rpgstat (statadmin, btcstat) | borntocraft.rpg.admin | list, info <player> <stat>, set, add, remove <player> <stat> <value>, reset <player> <stat>. Os atributos com escopo ITEM não podem ser alterados diretamente. |
/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 (reaplica os atributos dos jogadores online), 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 receitas. |
/rpginventory (btcinv, inventoryadmin) | borntocraft.rpg.admin | backpack <list|open|reset>, wardrobe <open|info>, list. |
/rpgboost (boost, xpboost) | borntocraft.rpg.admin | give, clear, list de boosts de XP de profissão. |
/questrewardreset (qrr, resetquestreward) | btc.admin.questrewardreset | <menuId> <player|all>: redefine os resgates de um Quest Reward Menu. |
/rpgauction (ah, auction) | nenhuma | browse, management, sellmenu, collection, list <price> <minutes> [buyout], bid <id> <amount>, buy <id>, cancel <id>, claim, finalize (admin). |
/rpgtrade (trade, p2ptrade) | nenhuma | <player> abre um pedido; accept <id>, deny <id>, money <amount>, confirm, cancel. |
/rpgrecycling (recycling, recycle) | nenhuma | Abre o menu de reciclagem. |
/unstick (rollback) | nenhuma | Dispara a entry cujo id é action:system_unstick; responde com um erro se essa entry não existir. |
Permissões
| Permissão | Concede |
|---|---|
borntocraft.rpg.admin | Todos os comandos de admin acima. |
btc.admin.questrewardreset | /questrewardreset. |
Placeholders
O RPG Core registra a expansão btc do MiniPlaceholders. Veja Placeholders para a lista completa.
Entries
42 entradas, geradas a partir do código-fonte da extensão.
Ações24
- 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
Fatos6
- 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
Audiências1
- BTC Quest Item AudienceForces players to keep an item in their inventory with full control
Artefatos6
- 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
Manifestos1
- BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)
Solução de problemas
No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. Nada é carregado sem a entry de configuração. Adicione uma e publique.
Os atributos são redefinidos ou não são salvos. stats.artifact está vazio ou aponta para um artifact inexistente: os atributos base ficam então apenas na memória. Ligue um artifact Player State. O mesmo vale para professions.artifact no progresso de profissões.
Um item não dá atributos. Verifique o id do atributo (aliases como ATTACK_DAMAGE ou MAX_HEALTH são aceitos), se o item está vestido em um slot de armadura, de mão ou da página ativa do guarda-roupa, se o jogador atende aos requirements de profissão dele e se o escopo do atributo não é PLAYER. Um atributo listado na configuração com um displayFormat deve conter {value}, e um minValue não pode exceder maxValue, ou a configuração não carrega.
percentageMultiplier must be ... ao carregar. Para atributos cuja unidade é fixa (por exemplo, frações e multiplicadores usam 100, atributos em porcentagem do vanilla usam 1), o multiplicador de exibição é verificado. Remova a sobrescrita ou use o valor indicado no erro.
/rpgstat set recusa um atributo. Ele diz que o atributo é exclusivo de itens: seu escopo é ITEM, então apenas o equipamento pode contê-lo. Use um item ou um atributo temporário.
/unstick diz que a ação não está configurada. Crie uma entry disparável com o id action:system_unstick.
A casa de leilões ou a troca não consegue movimentar dinheiro. A economia padrão é o Vault: instale o Vault e um provedor de economia, ou configure o adaptador de economia da seção.