Access Modifiers - ChenCMD/datapack-helper-plus-JP GitHub Wiki
アクセス修飾子は、特定のファイルのセットで特定のリソースの使用を制限できます。 これらは、IMP-Docコメント内のAnnotationとして配置する必要があります。
これらのアクセス修飾子はすべて、補完と診断を提供するためにDHPによってのみ使用されます。 プロジェクトが大きく、補完リストに何百もの項目が表示されないようにするには、この機能を使用します。 これらの修飾子は、ゲーム内の動作には影響しません。 実際には、どこでも"Private"なリソースを実行できます。
このリソースへのアクセスを、名前空間IDパターンに一致する特定のファイルに制限します。
within <id: 名前空間IDパターン>within * <id: 名前空間IDパターン>within <type: file type> <id: 名前空間IDパターン>
ファイルタイプの完全なリストについては、このページ を参照してください。
指定されたタイプのファイルのみリソースにアクセスできるネームスペースIDに一致します。
*を指定する、またはファイルの種類を指定しない場合は、パターンに一致する全てのファイルのリソースにアクセスします。
名前空間IDパターンは、名前空間IDに良く似ています。違いは、下記の特定のワイルドカードを使用できることです。
-
?: 一致する任意の文字を表します。[a-z0-9_\-\.]. -
*: 一致する任意の1つ以上の文字を表します。[a-z0-9_\-\.]. -
**: 一致する任意の数(0を含む)の文字を表します (:と/を含む).
名前空間IDパターンのいくつかの例:
-
spgoding:foo:spgoding:fooと一致 -
spgoding:ba?:spgoding:barとspgoding:bazに一致。ただしspgoding:fooとは一致しない。 -
spgoding:*/qux:spgoding:foo/quxとspgoding:bar/quxに一致。ただしspgoding:abcまたはspgoding:quxとは一致しない。 -
spgoding:**/foo:spgoding:fooとspgoding:bar/fooとspgoding: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
scoreboard objectives add foo dummy
#>
# @privateの効果は@withinで実装することも可能です:
# @within <The ID of the current function file>このリソースへのアクセスを、現在のファイルと同じ名前空間と既定の名前空間 (minecraft) に制限します。
@internal
#> spgoding:foo
# この関数は、`spgoding`名前空間と`minecraft`名前空間の下にある任意のファイルからアクセスできます。
# @internal
#> spgoding:foo
# @internalの効果は@withinで実装することも可能です:
# @within
# spgoding:**
# minecraft:**このリソースへのアクセスに制限はありません。
@public@api
#> spgoding:foo
# このfunctionはどこからでもアクセス可能です
# @public
#> spgoding:foo
# @publicの効果は@withinで実装することも可能です:
# @within **構成内のリソースのデフォルト表示を変更できます。詳しくはdatapack.env.defaultVisibilityを参照のこと。
複数の厳密な検査構成を有効にして、未定義リソースの診断を表示できます。 詳細については、Lint Rulesを参照のこと。