メインコンテンツまでスキップ

Vehicle

燃料、体力、スタミナ戦闘、アビリティ、レベル、スキン、ガレージを備えた運転可能な乗り物。

プライベートv0.1エンティティとモデル
必要TypeWriter0.9.0-beta-177 (BTC build)BasicBTCMobsPacketEventsGUI任意BetterModel任意

BornToCraft ネットワーク向けに作られた拡張機能です。参照用にドキュメント化されており、配布されていません。

概要​

Vehicle を使うと、プレイヤーは、車、ボート、空飛ぶ乗騎などのカスタム乗り物を、所有し、呼び出し、運転できます。乗り物タイプ(見た目、速度、体力、燃料、戦闘、成長)を 1 度だけ定義すると、各プレイヤーは、そのインスタンスを、独自のレベル、燃料、体力、シールド、スキンとともに所有し、アーティファクトに保存されます。プレイヤーは、ガレージメニューまたはアクションから乗り物を呼び出し、移動キーで乗り、格納します。

乗り物は、2 つの部分で構成されます。透明なキャリアエンティティが、物理演算と乗員を担当します。それにビジュアルが取り付けられます。表示されたアイテム、バニラのモブ、BetterModel のモデル、BTCMobs のモブのいずれかです。そのため、手軽な乗り物にはシンプルなアイテムを、看板となる乗り物にはアニメーション付きのモデルを使えます。

運転、燃料、ダメージ、アビリティ、レベルアップは、すべて TypeWriter に公開されます。イベントを発火し、ファクトを公開し、アビリティは TypeWriter の任意のアクションのリストを実行します。TypeWriter の BTC ビルド上で動作し、BTC Core の機能が必要です。

機能​

  • 4 種類の移動タイプ — GROUND、WATER、AMPHIBIOUS、AIR。それぞれ専用のキャリアを持ちます。
  • 4 種類のビジュアル — display(アイテム)、vanilla(モブ)、bettermodel、btcmobs。モデルはプレイヤーごとに解決されます。
  • 燃料 — タンク、1 秒あたりの消費量、受け入れる燃料アイテム、給油アクション。
  • 体力とシールド — 被弾はまずシールドが吸収し、体力が 0 になると乗り物は破壊され、修理が必要になります。
  • レベルとステータス — 設定可能な経験値曲線と、レベルごとのステータスボーナス。
  • 戦闘 — 射程、クールダウン、スタミナ消費を持つ左クリック攻撃、ジャンプキー長押しによるチャージ、任意の衝突ダメージ。
  • アビリティ — クールダウンとスタミナ消費を持ち、TypeWriter の任意のアクションを実行する、発動可能なアビリティ。
  • ガレージメニュー — プレイヤーの乗り物を表示する、GUI レイアウトで構築されたページ分割メニュー。
  • 所有数の上限 — パーミッションで引き上げられる、基本の上限。
  • イベントとファクト — 衝突、燃料切れ、レベルアップ、攻撃、チャージヒット、破壊、スタミナ枯渇。

インストール​

  1. BTCMobs と Basic のエクステンション(どちらも宣言された依存関係)と、ガレージメニュー用の GUI エクステンションをインストールします。BTCMobs を参照してください。
  2. PacketEvents をインストールします。ないと、操縦が無効になり、ログに PacketEvents not found! WASD steering will be disabled. と表示されます。
  3. 任意で、bettermodel ビジュアルを使うために、BetterModel をインストールします。
  4. Vehicle の JAR を plugins/Typewriter/extensions/ に配置し、サーバーを再起動します。

はじめに​

  1. TypeWriter の Web パネルでスタティックページを開き、Vehicle Storage アーティファクトを追加します。
  2. Vehicle Config エントリーを 1 つ追加し、storage にアーティファクトを設定します。ないと、乗り物のデータは読み込まれも保存もされず、ログに Aucun stockage designe と表示されます。
  3. Vehicle Definition を追加します。movement(GROUND)、visual(MINECART などの素材を持つ display)を選び、stats、fuel(allowedFuels にアイテムを追加)、combat を調整します。
  4. そのデフィニションを参照する Spawn Vehicle アクションを追加し、コマンド、NPC、イベントからトリガーします。最初の呼び出しで、プレイヤーには、燃料と体力が満タンのこのタイプの新しい乗り物が与えられ、それに搭乗します。
  5. ガレージには、layoutPool で構築した Vehicle Garage Menu を追加し、Open Vehicle Garage をトリガーします。
  6. ガソリンスタンドやガレージの NPC に、Refill Vehicle Fuel と Repair Vehicle を追加します。Publish してテストします。
コマンドはありません

Vehicle は、独自のコマンドを登録しません。呼び出し、格納、修理は、アクション、ガレージメニュー、または TypeWriter のコマンドエントリーを通じて行います。

仕組み​

キャリアは movement によって異なります。GROUND はサーバーが動かすアーマースタンドを、WATER と AMPHIBIOUS はクライアント自身がシミュレートするボートを、AIR はハッピーガストを使用します。ボートの場合、サーバーは運転せず、毎 tick 検証を行い、maxSpeed を超えたとき、タンクが空のとき、または(GROUND では)液体に入ったときに、乗り物を元の位置に戻します。

操縦には、プレイヤーの入力パケット(前進、後退、左、右、ジャンプ、スニーク)が使われます。降りると、乗り物は格納されます(消去され、データが保存されます)。

乗り物のインスタンスは、レベル、経験値、体力、シールド、燃料、スキンを持ちます。ステータスには 1 + statBonusPerLevel * (level - 1) が掛けられます(重力は除く)。レベルを上げるために必要な経験値は baseXp * level ^ xpGrowth です。maxLevel では、経験値は増えなくなります。

メニュー​

Vehicle Garage Menu は、他の GUI メニューと同じように構築します。layoutPool、mainLayoutId、任意の views、共有シャーシを継承するための baseMenuId です。次のボタンタイプ(アイテムの buttonType)でアイテムを配置します。

ボタンタイプ動作
vehicle_button:VEHICLE_SLOT#<n>プレイヤーの n 番目の乗り物(インスタンス ID 順)を表示します。クリックすると呼び出します。プレイヤーの所有数が少ない場合は空です。
vehicle_button:VEHICLE_SPAWNアクティブな乗り物を呼び出します。
vehicle_button:VEHICLE_DESPAWN搭乗中の乗り物を格納し、メニューを閉じます。
vehicle_button:VEHICLE_INFOアクティブな乗り物のレベル、燃料、体力をチャットに出力します。
vehicle_button:NAV_BACK前のメニューに戻ります。
vehicle_button:NAV_CLOSEメニューを閉じます。

vehicleDisplay は、乗り物のスロットの見た目を設定します。item、nameFormat、lore で、トークン %name%、%level%、%max_level%、%fuel%、%max_fuel%、%health%、%max_health%、%shield% を使用できます。ボタン用に配置したアイテムは、ページが定義している場合、独自の名前とロアを保持します。

パーミッション​

パーミッション許可される内容
typewriter.vehicle.limit.<n>Vehicle Ownership Limit エントリーがこれを読み取るときに、所有数の上限を <n> だけ引き上げます(最も高い値が有効です)。

エクステンションが定義する他のパーミッションはありません。

プレースホルダー​

2 つのファクトは、TypeWriter を通じてプレースホルダーとして読み取れます。Vehicle Ownership Limit と Vehicles Owned Count で、それぞれ数値を返します。エクステンションは、独自のプレースホルダーを登録しません。

エントリー​

25 件のエントリー(拡張機能のソースから生成)。

アクション9
イベント7
ファクト4
アーティファクト1
マニフェスト4

トラブルシューティング​

再起動後に何も保存されていない。 vehicle_config に storage がないか、存在しないアーティファクトを指しています。ログに Aucun stockage designe dans 'vehicle_config' と報告されます。storage にアーティファクトを設定してください。

WASD で乗り物が動かない。 PacketEvents がないため、操縦が無効になっています。インストールして再起動してください。

乗り物が元に戻される、または動かない。 サーバーは、乗り物が stats.maxSpeed(tick あたりのブロック数)より速く動いたとき、fuel が 0 のとき(On Vehicle Fuel Empty が発火します)、または GROUND が水や溶岩に入ったときに、ロールバックします。maxSpeed を上げるか、給油するか、AMPHIBIOUS に切り替えてください。

Ce vehicule n'est pas disponible pour le moment. ビジュアルを作成できませんでした。BetterModel に存在しないモデル ID、不明な BTCMobs の mobId、またはアイテムではない display の素材が原因です。ログで non spawne や visuel を確認してください。

呼び出しが、上限のメッセージで拒否される。 プレイヤーはすでに baseOwnershipLimit 台(デフォルトは 1)の乗り物を所有しています。上限にパーミッションが含まれるのは、Vehicle Ownership Limit エントリーを作成した場合のみで、そうでなければ baseOwnershipLimit だけが適用されます。

This vehicle is destroyed — repair it before summoning it again. 体力が 0 になりました。Repair Vehicle を実行してください。これは、repair.item を repair.amount 個消費し、アクティブな乗り物の体力を healthPerRepair 分回復します。

アビリティが何も起こさない。 乗り物デフィニションの abilities に記載されていて、プレイヤーが運転中で、十分なスタミナがあり、クールダウンが終わっている必要があります。いずれかが満たされない場合は、vehicle_config のメッセージが送信されます。

関連エクステンション​

  • BTCMobs — btcmobs ビジュアルを提供します。
  • GUI — ガレージメニューを描画します。