RPG Core
概要
RPG Core は、BTC サーバーの成長システムの層です。ステータスシステム、セットとジェムを持つカスタムアイテムカタログ、レベルのある職業、グローバルレベル、バックパックとワードローブ、オークションハウス、安全なプレイヤー間トレード、カスタムクラフトステーション、カスタム釣り、移動アビリティ(匍匐、飛び越え、よじ登り)、イーサーコラプションゾーンをまとめた、1 つの大きなエクステンションです(RPGBundle という名前でビルドされています)。
ほぼすべてが1 つのエントリー、RPG Core Configuration で設定され、システムごとにセクションがあります。その他のエントリーは小さな構成要素です。アイテムを渡したりステータスを変更したりするアクション、それらを読み取るファクト、開くメニュー、プレイヤーデータを保存するアーティファクトです。
中心となる考え方は、以下で説明するステータスモデルです。すべてのプレイヤーは数値のステータス(筋力、体力、クリティカル率、速度など)を持ち、装備がそれに加算され、その結果が、戦闘、採集、バニラのアトリビュートを動かします。
機能
- ステータスモデル — プレイヤーごとの基本値、装備中のアイテムによるボーナス、名前付きの制約を持つ 77 種類のステータス。
- アイテムカタログ — ステータス、レアリティ、レベル要件を持つカスタムアイテムのカテゴリーと、セットボーナス付きの装備セット。
- 職業 — レベル、経験値曲線、レベル報酬(永続ステータスとトリガー)、ブースト、コンペティション、職業メニュー。
- グローバルレベル — 職業とクエストから計算される加重レベル。移動アビリティなどの制限に使われます。
- ストレージ — アーティファクトに保存される、個人用バックパックとワードローブ(アクセサリーとエリトラ)。
- エコノミー — オークションハウスと、24 時間のローリング通貨上限を持つ、安全なプレイヤー間トレード。
- クラフト — カスタムレシピ、金床、砥石、織機、錬金術、コンポスター、地図作成、レベル制限付きの作業台。
- 移動 — ダブルスニークによる匍匐、自動の飛び越えと壁のよじ登り。任意で BetterModel のアニメーションに対応します。
- コラプション — 広がり、浄化でき、汚染されたモブを出現させる、イーサーコラプションのゾーン。
- コマンド — ステータス、職業、アイテム、ブースト、インベントリの管理ツールと、オークション、トレード、リサイクル、スタック解除のプレイヤー向けコマンド。
インストール
- GUI エクステンションをインストールします。メニュー(職業、バックパック、ワードローブ、オークション、トレード)は、これを使って描画されます。
- オークションハウスやトレードでデフォルトのエコノミーを使う場合は、Vault 互換のエコノミープラグイン(Vault)をインストールします。
- 任意で、UiCore(メニューと成長 HUD)、BTCMobs(汚染されたモブ、モブグループ)、Profiles、Party、BTC Sky を、それらを読み取る連携のためにインストールします。
- RPG Core の JAR を
plugins/Typewriter/extensions/に配置し、サーバーを再起動します。
はじめに
- TypeWriter の Web パネルでスタティックページを開き、Player State アーティファクトを追加します。これは、各プレイヤーの基本ステータスとエフェクトを保存します。
- 職業を使う場合は、Profession Data アーティファクトを追加します。
- RPG Core Configuration エントリーを追加します。
statsで、artifactに Player State アーティファクトを設定します。stats.statsを空のままにすると、組み込みのデフォルトが読み込まれ、項目を追加すると、ステータスの表示名、デフォルト値、minValue、maxValue、displayFormatを上書きできます。professionsでは、artifactに Profession Data アーティファクトを設定し、職業を追加します。 itemsに、カテゴリーと、STRENGTHやHEALTHなどのstatsとrarityを持つカタログアイテムを追加します。- Publish します。
/rpgitem giveでアイテムを手に入れて装備し、/rpgstat info <player> STRENGTHで値を確認します。 - クエストや NPC から、Give BTC Item、Add Stat、Profession Grant XP などのアクションをトリガーします。
RPG Core Configuration エントリーは 1 つだけ作成し、すべてのセクションの情報源を 1 つに保ってください。
仕組み
ステータスモデルには、4 つの層があります。
- デフィニション。 すべてのステータスは、固定の識別子(
STRENGTH、HEALTH、CRIT_CHANCE、SPEED、MINING_EFFICIENCYなど)です。それぞれに、スコープ(PLAYER: プレイヤーの基本ステータスのみが保持できる、ITEM: 装備ボーナスのみ、BOTH)と、保存のされ方を示す単位があります。単位は、バニラの絶対値(体力ポイント、防御力)、バニラの基本値に対するパーセント(速度、100= バニラ)、0 から 1 の割合(クリティカル率、耐性)、1 が中立となる乗数、加算するパーセンテージポイント、またはそのままのポイントです。単位はステータス固有のもので、設定で変更することはできません。 - 基本値。 各プレイヤーは、ステータスごとに永続的な基本値を持ち、ステータスの
defaultValueから始まり、Player State アーティファクトに保存されます。これは、Add Stat、Remove Stat、職業のレベル報酬(stats)、/rpgstatによって変化します。小数点以下 2 桁に丸められ(INTEGERステータスは整数)、minValueとmaxValueの間に制限されます。 - 装備ボーナス。 装備が変更されるたびに、エクステンションは、ヘルメット、チェストプレート、レギンス、ブーツ、メインハンド、オフハンド、有効なワードローブのページのボーナスを再計算します。着用中の各アイテムについて、カタログのデフィニションにあるステータス、アイテムに保存されたステータスコンポーネント、ステータスにマッピングされたバニラのエンチャントを加算します。職業レベルの要件を満たしていないアイテムは、何も与えません。スコープが
PLAYERのステータスは、装備を無視します。これらのボーナスは一時的なもので、保存されることはありません。 - 制約。 Constrain Stat は、Release Stat Constraint が解除するまで、名前付きの
sourceの下で、ステータスをminとmaxの間に保ちます。攻撃力に上限を設ける決闘アリーナや、防御力を下げる呪われた広間などです。複数の制約は互いを絞り込みます(下限は最も高いもの、上限は最も低いもの。衝突した場合は、上限が優先されます)。
合計値は base + equipment を制限し、さらに制約をかけたものです。バニラのアトリビュート(体力、防御力、速度、攻撃ダメージ、ジャンプ力、リーチなど)に対応するステータスは、単位変換を経て、そのアトリビュートに反映されます。それ以外は、それを必要とするコードが読み取ります。クリティカル率とダメージ、ライフスティール、回避、ブロック、ドロップ倍増、採掘と伐採の効率、釣りの強さ、職業経験値ブーストなどです。
Temporary Stat は、一定時間ステータスを加算します(ポーション、バフ)。条件でステータスを読み取るには、Player Stat を使用します。これは、値に scale を掛けて丸めたものを返します。
設定
以下はすべて、RPG Core Configuration のセクションです。
| セクション | 設定する内容 |
|---|---|
items | アイテムカタログ(カテゴリー、アイテム、レアリティ、要件)、装備セット、ジェム。 |
stats | Player State アーティファクト、ステータスごとの上書き、グローバルオプション(回復、クリティカル、ライフスティール、効率、モブグループ、ボーナスルート)、コマンドメッセージ。 |
professions | 職業のリスト、レベル、経験値曲線と報酬、職業メニュー、メッセージ。 |
inventory | バックパックとワードローブのレイアウトとストレージ。 |
auction | オークションハウスの税、期間、エコノミー、メニュー。 |
trade | 安全なトレード: 距離、リクエストの有効期間、スタックの上限、24 時間の通貨上限、台帳アーティファクト、エコノミー、メニュー。 |
movement | 匍匐、飛び越え、よじ登りのティア、グローバルレベルの制限、BetterModel のアニメーション。 |
crafting, specialRecipes, anvil, enchantment, alchemy, grindstone, loom, cartography, cartographyCrafting, composter, workstations, industrial | レシピとカスタム作業台。それぞれ、レベルまたは遅延で制限されます。 |
fishing, gathering, mobTrap | カスタム釣り(溶岩とヴォイドを含む)、統合された資源採集(経験値、ルート、制限)、モブの捕獲。 |
boosts, globalLevel, respawn, recycling, divers, beacon | 一時的なブースト、グローバルレベルの計算式、条件付きリスポーン、リサイクル、樹脂、アイランドビーコン。 |
etherCorruption | イーサーコラプションのゾーン。 |
combatFeedback, vanillaTooltip | ダメージ数値、ヘルスバー、非表示にするバニラのツールチップ。 |
コマンド
すべてのコマンドは、エイリアスとともに起動時に登録されます。管理コマンドには borntocraft.rpg.admin が必要です。
| コマンド(エイリアス) | パーミッション | 説明 |
|---|---|---|
/rpgstat (statadmin, btcstat) | borntocraft.rpg.admin | list、info <player> <stat>、set、add、remove <player> <stat> <value>、reset <player> <stat>。スコープが ITEM のステータスは、直接変更できません。 |
/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(オンラインのプレイヤーのステータスを再適用)、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。 |
/rpginventory (btcinv, inventoryadmin) | borntocraft.rpg.admin | backpack <list|open|reset>、wardrobe <open|info>、list。 |
/rpgboost (boost, xpboost) | borntocraft.rpg.admin | 職業経験値ブーストの give、clear、list。 |
/questrewardreset (qrr, resetquestreward) | btc.admin.questrewardreset | <menuId> <player|all>: Quest Reward Menu の受け取り履歴をリセットします。 |
/rpgauction (ah, auction) | なし | browse、management、sellmenu、collection、list <price> <minutes> [buyout]、bid <id> <amount>、buy <id>、cancel <id>、claim、finalize(管理者)。 |
/rpgtrade (trade, p2ptrade) | なし | <player> でリクエストを開きます。accept <id>、deny <id>、money <amount>、confirm、cancel。 |
/rpgrecycling (recycling, recycle) | なし | リサイクルメニューを開きます。 |
/unstick (rollback) | なし | ID が action:system_unstick のエントリーをトリガーします。そのエントリーが存在しない場合は、エラーで応答します。 |
パーミッション
| パーミッション | 許可される内容 |
|---|---|
borntocraft.rpg.admin | 上記のすべての管理コマンド。 |
btc.admin.questrewardreset | /questrewardreset。 |
プレースホルダー
RPG Core は、MiniPlaceholders のエクスパンション btc を登録します。完全な一覧は、プレースホルダーを参照してください。
エントリー
42 件のエントリー(拡張機能のソースから生成)。
アクション24
- 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
イベント4
- On Corrupted Mob SpawnOn Corrupted Mob Spawn
- On Corruption PurifiedOn Corruption Purified
- On Corruption SpreadOn Corruption Spread
- On Player Corruption ExposureOn Player Corruption Exposure
ファクト6
- 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
オーディエンス1
- BTC Quest Item AudienceForces players to keep an item in their inventory with full control
アーティファクト6
- 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
マニフェスト1
- BTC Rpgcore ConfigurationConfigure BornToCraft RPG core systems (Items, Stats, Professions, Inventory, Crafting, Commands, Fishing, Auction, Movement, Trade)
トラブルシューティング
No btc_rpgcore_configuration entry found! Create one in TypeWriter UI. 設定エントリーがないと、何も読み込まれません。1 つ追加して、Publish してください。
ステータスがリセットされる、または保存されない。 stats.artifact が空か、存在しないアーティファクトを指しています。この場合、基本ステータスはメモリ上にしか保持されません。Player State アーティファクトをリンクしてください。職業の進行状況については、professions.artifact も同様です。
アイテムがステータスを与えない。 ステータス ID(ATTACK_DAMAGE や MAX_HEALTH などのエイリアスも受け付けられます)、アイテムが防具、手、有効なワードローブのスロットに装備されていること、プレイヤーが職業の requirements を満たしていること、ステータスのスコープが PLAYER でないことを確認してください。設定に displayFormat を持つステータスを記載する場合は {value} を含める必要があり、minValue は maxValue を超えてはなりません。そうでないと、設定の読み込みに失敗します。
読み込み時に percentageMultiplier must be ...。 単位が固定されているステータス(たとえば、割合と乗数は 100、バニラに対するパーセントのステータスは 1 を使用)では、表示の乗数が検証されます。上書きを削除するか、エラーに示された値を使用してください。
/rpgstat set がステータスを拒否する。 そのステータスはアイテム専用だと表示されます。スコープが ITEM なので、装備だけが保持できます。アイテムか、一時的なステータスを使用してください。
/unstick がアクションが設定されていないと表示する。 ID が action:system_unstick の、トリガー可能なエントリーを作成してください。
オークションハウスやトレードでお金を移動できない。 デフォルトのエコノミーは Vault です。Vault とエコノミープロバイダーをインストールするか、そのセクションのエコノミーアダプターを設定してください。