Access Modifiers - ChenCMD/datapack-helper-plus-JP GitHub Wiki

アクセス修飾子は、特定のファイルのセットで特定のリソースの使用を制限できます。 これらは、IMP-Docコメント内のAnnotationとして配置する必要があります。

これらのアクセス修飾子はすべて、補完と診断を提供するためにDHPによってのみ使用されます。 プロジェクトが大きく、補完リストに何百もの項目が表示されないようにするには、この機能を使用します。 これらの修飾子は、ゲーム内の動作には影響しません。 実際には、どこでも"Private"なリソースを実行できます。

@within

このリソースへのアクセスを、名前空間IDパターンに一致する特定のファイルに制限します。

シンタックス

  • within <id: 名前空間IDパターン>
  • within * <id: 名前空間IDパターン>
  • within <type: file type> <id: 名前空間IDパターン>

ファイルの種類

ファイルタイプの完全なリストについては、このページ を参照してください。

指定されたタイプのファイルのみリソースにアクセスできるネームスペースIDに一致します。

*を指定する、またはファイルの種類を指定しない場合は、パターンに一致する全てのファイルのリソースにアクセスします。

名前空間IDパターン

名前空間IDパターンは、名前空間IDに良く似ています。違いは、下記の特定のワイルドカードを使用できることです。

  • ?: 一致する任意の文字を表します。 [a-z0-9_\-\.].
  • *: 一致する任意の1つ以上の文字を表します。 [a-z0-9_\-\.].
  • **: 一致する任意の数(0を含む)の文字を表します (:/を含む).

名前空間IDパターンのいくつかの例:

  • spgoding:foo: spgoding:fooと一致
  • spgoding:ba?: spgoding:barspgoding:bazに一致。ただしspgoding:fooとは一致しない。
  • spgoding:*/qux: spgoding:foo/quxspgoding:bar/quxに一致。ただしspgoding:abcまたはspgoding:quxとは一致しない。
  • spgoding:**/foo: spgoding:foospgoding:bar/foospgoding:bar/qux/fooに一致。
  • spgoding:**: spgoding以下の全てのファイルに一致。
  • **: ありとあらゆるものに一致。

#> spgoding:foo
# このfunctionは、`example`名前空間の下の任意のファイルからアクセスできます。
# @within example:**

#> spgoding:foo
# このfunctionは、`example`名前空間の下の任意のファイルからアクセスできます。
# @within * example:**

#> spgoding:foo
# This function can only be accessed from functions under the `example` namespace.
# このfunctionは、`example`名前空間の下の関数からのみアクセスできます。
# @within function example:**

#> spgoding:foo
# この関数には、`example`名前空間のfunctionsタグとfunctionタグの両方からアクセスできます。
# @within
#   function example:**
#   tag/function example:**

@private

このリソースへのアクセスを現在のファイルに制限します。

シンタックス

  • @private

#>
# このオブジェクトは現在のファイルからのみアクセスが可能です。
# @private
scoreboard objectives add foo dummy

#>
# @privateの効果は@withinで実装することも可能です:
# @within <The ID of the current function file>

@internal

このリソースへのアクセスを、現在のファイルと同じ名前空間と既定の名前空間 (minecraft) に制限します。

シンタックス

  • @internal

#> spgoding:foo
# この関数は、`spgoding`名前空間と`minecraft`名前空間の下にある任意のファイルからアクセスできます。
# @internal

#> spgoding:foo
# @internalの効果は@withinで実装することも可能です:
# @within
#   spgoding:**
#   minecraft:**

@public@api

このリソースへのアクセスに制限はありません。

シンタックス

  • @public
  • @api

#> spgoding:foo
# このfunctionはどこからでもアクセス可能です
# @public

#> spgoding:foo
# @publicの効果は@withinで実装することも可能です:
# @within **

デフォルトのアクセス修飾子

構成内のリソースのデフォルト表示を変更できます。詳しくはdatapack.env.defaultVisibilityを参照のこと。

厳密なチェック構成

複数の厳密な検査構成を有効にして、未定義リソースの診断を表示できます。 詳細については、Lint Rulesを参照のこと。

⚠️ **GitHub.com Fallback** ⚠️