Przepisy niestandardowe: kształtowe, bezkształtowe i z użyciem tagów zamiast listy każdego drewna
Przepis kształtowy, który się nie tworzy, zazwyczaj ma błędny klucz lub wzór z wypełnieniem. Oto JSON, sztuczka z tagami, która redukuje osiem przepisów do jednego, oraz sposób testowania.
Przepisy to jedne z najłatwiejszych plików datapack do pisania i jedne z najłatwiejszych do subtelnego popełnienia błędu, ponieważ zepsuty przepis zawodzi po cichu — siatka rzemieślnicza po prostu nic nie robi.
Kształtowe (Shaped)
{
"type": "minecraft:crafting_shaped",
"pattern": [ "SSS", "S S", "SSS" ],
"key": { "S": "minecraft:stone" },
"result": { "id": "minecraft:furnace", "count": 1 }
}
Trzy zasady, które powodują większość błędów:
- Każdy znak w
patternmusi istnieć wkey, z wyjątkiem spacji, która oznacza puste miejsce. - Wzór jest względny, nie absolutny. Przepis 2×2 powinien być napisany jako dwa rzędy po dwa, a nie wypełniony spacjami do 3×3. Wypełnienie sprawia, że można go wytworzyć tylko w tym konkretnym rogu siatki.
- Wszystkie rzędy muszą mieć tę samą długość.
["SS", "S"]jest nieprawidłowe.
Bezkształtowe (Shapeless)
{
"type": "minecraft:crafting_shapeless",
"ingredients": ["minecraft:stone", "minecraft:coal"],
"result": { "id": "minecraft:torch", "count": 4 }
}
Kolejność jest nieistotna. Duplikaty muszą być wymienione pojedynczo — dwa Węgle oznaczają dwa wpisy.
Tagi łączą rodzinę w jeden przepis
Zamiast ośmiu przepisów dla ośmiu typów desek:
"key": { "P": "#minecraft:planks" }
# oznacza tag przedmiotu. #minecraft:planks, #minecraft:logs, #minecraft:wool, #minecraft:stone_crafting_materials i dziesiątki innych już istnieją. Zdefiniowanie własnego wymaga jednego pliku:
data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }
Zwróć uwagę na tags/item/ — liczba pojedyncza item, liczba mnoga tags. Ta niespójność jest prawdziwa.
Wynik z komponentami
"result": {
"id": "minecraft:diamond_sword",
"count": 1,
"components": { "minecraft:custom_name": "\"Excalibur\"", "minecraft:enchantments": { "sharpness": 5 } }
}
W ten sposób niestandardowy przedmiot staje się możliwy do wytworzenia bez modyfikacji.
Inne typy przepisów
crafting_shaped i crafting_shapeless to dwa z wielu. Dostępne są również: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform i smithing_trim. Typy gotowania wymagają cookingtime i experience; cięcie kamienia wymaga jednego składnika i liczby.
Testowanie
/reload, a następnie spróbuj użyć siatki. Jeśli nic się nie dzieje:
- Sprawdź czat po ponownym załadowaniu — tam zgłaszane są nieprawidłowo sformułowane pliki JSON.
/recipe give @s <namespace>:<recipe>— jeśli identyfikator przepisu jest błędny, pojawi się błąd, co
oznacza, że plik w ogóle nie jest odczytywany.
- Odblokowanie przepisu jest oddzielne od istnienia przepisu. Przepis działa w siatce, nawet jeśli
nigdy nie pojawi się w Książce przepisów.
Twórz JSON przepisów, predykatów i zestawów z kluczami i tagami sprawdzonymi w Datapack JSON Builders.