@@ -20,12 +20,23 @@ import net.neoforged.bus.api.Event
20
20
import java.util.function.Function
21
21
import kotlin.jvm.optionals.getOrNull
22
22
23
+ /* *
24
+ * 機械レシピが再読み込みされたときに呼び出されるイベント
25
+ * @see [HTRecipeType.reloadCache]
26
+ */
23
27
class HTMachineRecipesUpdatedEvent (
24
28
provider : HolderLookup .Provider ,
25
29
private val currentType : HTRecipeType <* >,
26
30
private val consumer : (RecipeHolder <out HTMachineRecipeBase >) -> Unit ,
27
31
) : Event(),
28
32
HolderLookup .Provider by provider {
33
+ /* *
34
+ * 機械レシピを登録します
35
+ * @param T 登録する機械レシピのクラス
36
+ * @param recipeType 登録するレシピの種類
37
+ * @param recipeId 登録するレシピのID
38
+ * @param function 登録するレシピのビルダーを返すブロック
39
+ */
29
40
fun <T : HTMachineRecipeBase > register (
30
41
recipeType : HTRecipeType <T >,
31
42
recipeId : ResourceLocation ,
@@ -38,10 +49,22 @@ class HTMachineRecipesUpdatedEvent(
38
49
39
50
// Helper //
40
51
52
+ /* *
53
+ * 指定した[prefix]と[key]に含まれる[Holder]を返します。
54
+ * @return 名前空間が`ragium`, `minecraft`の順に検索し,見つからない場合は最初の値を返す
55
+ */
41
56
fun getFirstHolder (prefix : HTTagPrefix , key : HTMaterialKey ): Holder <Item >? = getFirstHolder(prefix.createTag(key))
42
57
58
+ /* *
59
+ * 指定した[prefix]と[key]に含まれる[Item]を返します。
60
+ * @return 名前空間が`ragium`, `minecraft`の順に検索し,見つからない場合は最初の値を返す
61
+ */
43
62
fun getFirstItem (prefix : HTTagPrefix , key : HTMaterialKey ): Item ? = getFirstHolder(prefix, key)?.value()
44
63
64
+ /* *
65
+ * 指定した[tagKey]に含まれる[Holder]を返します。
66
+ * @return 名前空間が`ragium`, `minecraft`の順に検索し,見つからない場合は最初の値を返す
67
+ */
45
68
fun getFirstHolder (tagKey : TagKey <Item >): Holder <Item >? {
46
69
val holderSet: HolderSet .Named <Item > = itemLookup().get(tagKey).getOrNull() ? : return null
47
70
// Find item from Ragium
@@ -55,5 +78,9 @@ class HTMachineRecipesUpdatedEvent(
55
78
return firstHolder ? : holderSet.firstOrNull()
56
79
}
57
80
81
+ /* *
82
+ * 指定した[tagKey]に含まれる[Item]を返します。
83
+ * @return 名前空間が`ragium`, `minecraft`の順に検索し,見つからない場合は最初の値を返す
84
+ */
58
85
fun getFirstItem (tagKey : TagKey <Item >): Item ? = getFirstHolder(tagKey)?.value()
59
86
}
0 commit comments