FakeBlock
概要
FakeBlock は、選択したプレイヤーにだけ、Sponge スキマティック(.schem)を表示します。ブロックはパケットで送信され、実際のワールドが変更されることはないため、同じ場所に立つ 2 人のプレイヤーが、それぞれ別の建築物を見ることができます。スキマティックは、TypeWriter のオーディエンス(クエストのステップ、手に持ったアイテム、リージョン)に追従させたり、シネマティックとして再生したり、プレイヤーが「ストレージブロック」アイテムで設置したりできます。
ブロックは、クライアント側で破壊可能にできます。破壊はサーバーが検証し、ルートをドロップさせたり、アイテムのホワイトリストやブラックリストで制限したりでき、プレイヤーごとにアーティファクトへ保存されるため、再接続後も建築物は壊れたままになります。
機能
- プレイヤーごとの建築物 — オーディエンス、シネマティックの視聴者、または設置したプレイヤーに、スキマティックを表示します。
- 3 種類のアンカー — ワールド内の固定位置、ディメンション内のすべての BTC Sky アイランドで共通のオフセット、または Dungeon インスタンス内の位置。
- 段階的な設置 — ブロックが
LINEAR、HELICAL、RANDOMの順で、設定可能な速度で、またはただちに現れます。 - 表示距離とフェード距離 — 一定の距離を超えると建築物を非表示にし、段階的にフェードアウトさせます。
- クライアント側での破壊 — サーバーが検証する破壊。任意のルート、ホワイトリスト、ブラックリストに対応します。
- 永続的な状態 — 破壊されたブロックと設置されたインスタンスは、プレイヤーごとまたはグループごとに、アーティファクトに保存されます。
- ストレージブロック — 設置すると、使い切りまたは回収可能なスキマティックとして展開されるアイテムを、プレイヤーに渡します。
インストール
- サーバーに PacketEvents をインストールします。
- FakeBlock の JAR を
plugins/Typewriter/extensions/に配置し、サーバーを再起動します。 .schemファイルをplugins/Typewriter/schematics/にコピーします。新しいファイルを追加した後は、/fakeblock reloadを実行してください。
はじめに
クエストのステップに到達したプレイヤーに、崩れた橋を表示します。
- TypeWriter の Web パネルでマニフェストページを開き、Schematic Audience エントリーを追加します。
schematicにファイル名(たとえばbridge_ruined.schem)を、centerLocationに貼り付けの原点を設定します。- クエストのステップに一致するオーディエンスフィルター(たとえばファクトやクエストのオーディエンス)で包み、該当するプレイヤーにだけ見えるようにします。
- プレイヤーが瓦礫を撤去できるようにするには、
breakableを有効にし、必要に応じてdropLootを設定し、破壊されたブロックが記憶されるように、stateArtifactに Schematic State アーティファクトをリンクします。 - ページを Publish し、オーディエンスに該当するプレイヤーとその場所まで歩いて行きます。
プレイヤー自身に建築物を設置させるには、Schematic Block アクションを使用します。このアクションは spawnItem を渡し、そのアイテムを設置するとスキマティックが展開されます。singleUse と ownerOnlyRetrieval により、再び拾い上げられるかどうかが決まります。
仕組み
コマンド
すべてのコマンドに typewriter.fakeblock.admin が必要です。エイリアス: /fb、/schematicblock。
| コマンド | 説明 |
|---|---|
/fakeblock list | 設置されたすべてのスキマティックインスタンスを一覧表示します。 |
/fakeblock info <instance-id> | 1 つのインスタンスの詳細を表示します。 |
/fakeblock undo <instance-id> | 設置されたインスタンスを削除します。 |
/fakeblock count [player] | プレイヤーに送信されたフェイクブロックの数を数えます。 |
/fakeblock reset <player> [entry-id] | プレイヤーの本物のブロックを復元します。すべてのエントリー、または 1 つのエントリーが対象です。 |
/fakeblock reload | ディスクからスキマティックを再読み込みします。 |
/fakeblock debug | デバッグ情報を出力します。 |
パーミッション
| パーミッション | 許可される内容 |
|---|---|
typewriter.fakeblock.admin | すべての /fakeblock コマンド。 |
エントリー
5 件のエントリー(拡張機能のソースから生成)。
アクション1
- Schematic BlockPlace a schematic as a block
オーディエンス2
- Blockify Schematic AudienceDisplay a schematic clientside for an audience with breakable blocks support
- Holding Item AudienceFilters an audience based on if they are holding a specific item
シネマティック1
- Blockify Schematic CinematicPaste a schematic (client-side) during a cinematic for the player
アーティファクト1
- Schematic State ArtifactArtifact for storing fake block state
トラブルシューティング
何も表示されない。 schematic のファイル名(.schem 拡張子付き)と、ファイルが plugins/Typewriter/schematics/ にあることを確認してください。/fakeblock reload を実行し、プレイヤーが viewDistance 以内にいて、オーディエンスに該当していることを確かめてください。
建築物が間違った場所に表示される。 positionMode: ISLAND_DIMENSION では、dimensionOffset は、dimensionTemplateId のディメンションのアイランドを基準とします。INSTANCE_DIMENSION では、建築物は、アクティブな Dungeon インスタンス(instanceId で指定したもの、空の場合はいずれかのインスタンス)の内部にのみ表示され、instanceOffset はインスタンスのワールドでの座標を表します。centerLocation を使用するのは CLASSIC のみです。
再起動後に、破壊したブロックが元に戻る。 stateArtifact(オーディエンス)または position(アクション)に、Schematic State アーティファクトをリンクしてください。ないと、破壊はメモリ上にしか保持されません。
プレイヤーが何も破壊できない。 breakable がオンである必要があります。空でない whitelist は、列挙されたアイテムのみを許可し、blacklist が常に優先されます。