Fast Crafting
概要
Fast Crafting は、バニラの作業台を、プレイヤーが作れるレシピを一覧表示し、ワンクリックでクラフトできるメニューに置き換えます。レシピはサーバーのレシピカタログから読み取られ、プレイヤーがクラフトできるものは、サーバー上で、そのプレイヤー自身のインベントリから再計算されます。プレイヤーは数量を選ぶか、Shift クリックで最大数をクラフトでき、材料はインベントリから取られます。
統合メニューは、2 つのタブを持つ、54 スロットのインベントリ 1 つを使用します。Crafting には、現在利用可能なレシピのクイッククラフト行と、手動の 3x3 グリッドがあります。Recipes は、RPG Core の職業(戦闘、採掘、農業、クラフトなど)に分類されたカタログで、利用可能数と総数のカウンター、フィルター、並べ替え、検索ダイアログを備えています。カタログ内のレシピをクリックすると、ただちにクラフトされます。レシピがグリッドに自動で配置されることはありません。
このエクステンションは、TypeWriter の BTC ビルド(BTC Core、Paper/Folia)上で動作し、ここでは参考情報として文書化されています。RPG Core からレシピのメタデータを読み取り、そのレベルロックをレシピに適用します。
機能
- ワンクリッククラフト — レシピをクリックして、選択した数量(デフォルトは 1、4、8、16、32、64、または自動)をクラフトし、Shift クリックで最大数をクラフトします。
- クイッククラフト行 — 利用可能なレシピを表示します。パーミッションを持つプレイヤーにのみ表示されます。
- 職業カタログ — 各レシピの RPG Core の職業に基づく、
available / totalカウンター付きの 9 つのカテゴリー。 - 検索、並べ替え、フィルター — 名前、識別子、職業を対象にした Paper ダイアログ検索、アルファベット順または利用可能順の並べ替え、すべて、利用可能、不足のフィルター。
- 手動 3x3 グリッド — プレイヤーが材料を手で置く、出力スロット付きの任意のグリッド。残ったアイテムは、メニューを閉じるときに返却されます。
- 作業台の置き換え — 作業台を右クリックしたときに、バニラの作業台の代わりにこのメニューを開けます。
- レシピのソース — バニラのレシピ、
customなどの単一の名前空間、または MMOItems のステーションレシピ。 - レベルロック — RPG Core のレシピのレベル制限が適用され、他のプラグインがイベントを通じてクラフトを拒否することもできます。
- 安全な結果 — あふれた分はプレイヤーの足元にドロップされるか、クラフトがブロックされ、任意のクールダウンで連打を制限できます。
インストール
- RPG Core(
RPGBundleエクステンション)、TypeWriter の Basic エクステンション、GUI エクステンション(GuiAndDialogs)をインストールします。これらがないと、Fast Crafting は読み込まれません。 - 任意: MMOItems のステーションレシピ(
useMMOItemsRecipes)を使いたい場合は、MMOItems をインストールします。 - Fast Crafting の JAR を
plugins/Typewriter/extensions/に配置し、サーバーを再起動します。 - クイッククラフト行を見られるようにするプレイヤーに、
fastcrafting.quickcraftパーミッションを付与します。
はじめに
コマンドから統合メニューを開きます。
- TypeWriter の Web パネルでマニフェストページを開き、Fast Crafting アクションを追加します。
inventoryTitleを設定し、inventoryRowsは6のままにして、integratedMenu.enabledをオンにします。categoryIdsは、9 つの RPG Core の職業のままにするか、使用するものだけを残します。手動の 3x3 グリッドが必要な場合は、classicCrafting.enabledをオンにします。- 独自のレシピだけを使いたい場合は、
recipeNamespaceを、自分のレシピの名前空間(たとえばcustom)に設定します。 - カスタムコマンドエントリー(たとえば
fastcrafting)を追加し、そのtriggersに Fast Crafting アクションを設定します。NPC、アイテム、ダイアログからアクションをトリガーすることもできます。 - バニラの作業台を置き換えるには、
replaceCraftingTableをオンにし、必要に応じてreplaceCraftingTablePermissionを設定します。 - Publish し、材料を用意して、コマンドを実行します。
integratedMenu.enabled がオフ(デフォルト)の場合、アクションは、layoutPool、recipeGrid、fastcraft_button: マーカーから構築される、従来のレイアウトを開きます。ここで説明している単一インベントリのメニューを使うには、オンにしてください。統合メニューは、従来の開閉ボタンと SELECTION_INFO ボタンを無視します。
従来のレイアウトでは、マーカーは OPEN_GRID、REFRESH、PAGE_PREV、PAGE_NEXT、CRAFT_AMOUNT、SELECTION_INFO、CLOSE です。レシピを左クリックすると作成し、Shift + 左クリックで最大数を作成し、右クリックで選択します。SELECTION_INFO は、右クリックで選択した(または最後に作成した)レシピを、selectionInfo フィールドのテキストで表示します。名前、作成数、作成可能な回数、材料ごとの 1 行です。キーについては Fast Crafting を参照してください。
仕組み
カタログは、エントリーの設定ごとに 1 回、Bukkit のレシピから構築されます。クラフトレシピのみが対象で、recipeNamespace と disableVanillaRecipes でフィルタリングされます。各レシピの職業は RPG Core から取得され、職業のないレシピは crafting に入ります。クラフト可能なものは、プレイヤーのインベントリから再計算され、アイテムを移動、拾得、ドロップ、消費するたびに更新されます。
結果がバニラのアイテムの場合は、RPG Core に置き換えがあれば、BTC の対応するアイテムに変換されます。recipeNamespace がない場合、結果が CraftEngine や BTC のアイテムであるレシピはカタログで非表示になるため、カスタムレシピを一覧に表示するには、recipeNamespace(たとえば custom)を設定してください。
メニュー
統合メニューは 6 行です。
| 行 | Crafting タブ | Recipes タブ |
|---|---|---|
| 1 | Crafting タブと Recipes タブ。 | Crafting タブと Recipes タブ。 |
| 2 | クイッククラフトのレシピ(最大 quickRecipesPerPage、クイッククラフトのパーミッションがない場合は非表示)。ページ送り付き。 | 職業カテゴリーと、その available / total カウンター。 |
| 3 から 5 | 手動の 3x3 グリッド、出力スロット、数量ボタン。 | 選択したカテゴリーのレシピ(recipesPerPage、デフォルトは 27)。 |
| 6 | メニューのコントロール。 | 検索、並べ替え、フィルター、ページのコントロール。 |
レシピを左クリックすると、選択した数量がクラフトされます。allowShiftCraftAll がオンの場合、Shift クリックで最大数がクラフトされます。数量ボタンは craftAmountButton.values を順に切り替え、includeAuto がオンの場合は Auto オプションも含まれます。検索ダイアログは、レシピの名前、識別子、職業を対象に検索します。デフォルトの並べ替えは defaultSort(AVAILABLE_FIRST または ALPHABETICAL)、デフォルトのフィルターは defaultFilter(ALL、AVAILABLE、MISSING)です。メニューのテキストはフランス語です。
手動グリッドは classicCrafting で配置されます。プレイヤーは手でアイテムを置き、出力スロットをクリックすると結果がクラフトされ、Shift クリックで最大数になります。グリッドに残ったアイテムは、メニューを閉じるときにインベントリへ戻ります。
設定
すべて Fast Crafting エントリーで設定します。レイアウト以外の主な設定は次のとおりです。
| 設定 | 目的 |
|---|---|
fastCraftPermission | メニューを開いてクラフトするために必要なパーミッション(空の場合は全員)。 |
recipeNamespace | この名前空間のレシピのみを一覧表示します。 |
disableVanillaRecipes | minecraft: のレシピを非表示にします。 |
useMMOItemsRecipes | MMOItems が有効な場合に MMOItems のステーションレシピを追加し、バニラのレシピを非表示にします。 |
dropWhenInventoryFull | インベントリが満杯のとき、結果をプレイヤーの足元にドロップします。オフの場合、結果が収まらないとクラフトは拒否されます。 |
craftCooldownTicks | クラフト間のクールダウン(tick。0 でなし)。 |
autoRefreshTicks | 開いているメニューを N tick ごとに更新します(0 でなし)。 |
replaceCraftingTable | バニラの作業台の代わりに、このメニューを開きます。スニークしているプレイヤーは、バニラの作業台を使えます。 |
パーミッション
| パーミッション | 許可される内容 |
|---|---|
fastcrafting.quickcraft | 統合メニューのクイッククラフト行を表示します。この名前は integratedMenu.quickCraftPermission のデフォルトで、空にすると全員に行が表示されます。 |
fastCraftPermission の値 | メニューを開いてクラフトするための、任意のパーミッション。 |
replaceCraftingTablePermission の値 | 作業台を使うときにメニューを表示するための、任意のパーミッション。 |
このエクステンションには、独自のコマンドもプレースホルダーもありません。メニューのクリックは、プレイヤーが開いているメニューに紐付いた内部の fastcraft: チャンネルを使用し、手で入力することはできません。
エントリー
1 件のエントリー(拡張機能のソースから生成)。
アクション1
- Fast CraftingFast Crafting
トラブルシューティング
メニューが古いレイアウトになる。 integratedMenu.enabled がオフです(デフォルト)。オンにすると、タブ、カタログ、クイッククラフト行が使えます。
カタログが空になる。 recipeNamespace を確認してください。その名前空間のレシピのみが一覧表示されます。名前空間がない場合、結果が CraftEngine や BTC のアイテムであるレシピは非表示になります。disableVanillaRecipes や useMMOItemsRecipes を使うと、minecraft: のレシピは除外されます。
クイッククラフト行がない。 プレイヤーが、クイッククラフトのパーミッション(デフォルトは fastcrafting.quickcraft)を持っていません。フィールドを空にすると、全員に行が表示されます。
レシピがグレーアウトされる、またはクラフトが拒否される。 プレイヤーの材料が足りない、レシピに必要な RPG Core のレベルに達していない(メッセージはアクションバーに表示されます)、または他のプラグインがクラフトをキャンセルした可能性があります。クールダウン中や、結果が収まらず dropWhenInventoryFull がオフの場合も、クラフトは拒否されます。
レシピが間違ったカテゴリーにある。 カテゴリーは、そのレシピのキーに対して RPG Core に登録された職業から決まります。職業のないレシピは crafting に入ります。categoryIds にあり、RPG Core が定義していないカテゴリーも、汎用の名前とアイコンで表示されます。
バニラの作業台が置き換わらない。 replaceCraftingTable がオンで、設定している場合はプレイヤーが replaceCraftingTablePermission を持っている必要があります。スニーク中のプレイヤーは、バニラの作業台を使えます。このオプションがオンの最初のエントリーが使用されます。
検索ボタンが何も起こさない。 integratedMenu.searchEnabled がオンである必要があります。検索は Paper ダイアログを開くため、Paper ダイアログをサポートするサーバーが必要です。