MC Toolkit

Poradniki / Polecenia i dane

Własne przepisy: shaped, shapeless i tagi zamiast wypisywania każdego rodzaju drewna

Przepis shaped, który nie chce się wytworzyć, zwykle ma zły klucz. Oto JSON, co gra sama przycina z wzoru, sztuczka z tagiem, która zamienia trzynaście przepisów w jeden, i jak to przetestować.

Przepisy to jedne z najłatwiejszych plików datapacka do napisania i jedne z najłatwiejszych do subtelnego zepsucia, bo błędny przepis zawodzi po cichu — siatka wytwarzania po prostu nic nie robi.

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 pattern musi istnieć w key, z wyjątkiem spacji, która oznacza puste miejsce.
  • Wzór jest względny, nie absolutny. Gra przycina puste wiersze i kolumny z krawędzi, więc wzór 2×2 dopełniony spacjami do 3×3 nadal działa w dowolnym miejscu siatki — ale zapisanie go jako dwóch wierszy po dwa jest czytelniejsze.
  • Wiersze muszą mieć tę samą długość. ["SS", "S"] jest nieprawidłowy.

Shapeless

{
  "type": "minecraft:crafting_shapeless",
  "ingredients": ["minecraft:stone", "minecraft:coal"],
  "result": { "id": "minecraft:torch", "count": 4 }
}

Kolejność nie ma znaczenia. Powtórzenia trzeba wypisać pojedynczo — dwa Węgle to dwa wpisy.

Tagi zamieniają całą rodzinę w jeden przepis

Zamiast trzynastu przepisów dla trzynastu rodzajó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 zajmuje jeden plik:

data/<namespace>/tags/item/my_metals.json
{ "values": ["minecraft:iron_ingot", "minecraft:gold_ingot"] }

Zwróć uwagę na tags/item/ — w liczbie pojedynczej item, w mnogiej tags. Ta niespójność jest prawdziwa.

Wynik ze składnikami

"result": {
  "id": "minecraft:diamond_sword",
  "count": 1,
  "components": { "minecraft:custom_name": "Excalibur", "minecraft:enchantments": { "sharpness": 5 } }
}

W ten sposób własny przedmiot staje się wytwarzalny bez moda.

Pozostałe typy przepisów

crafting_shaped i crafting_shapeless to dwa z wielu. Dostępne są też: smelting, blasting, smoking, campfire_cooking, stonecutting, smithing_transform i smithing_trim. Typy gotowania przyjmują cookingtime i experience; stonecutting przyjmuje jeden składnik i liczbę.

Testowanie

/reload, a potem wypróbuj siatkę. Jeśli nic się nie dzieje:

  1. Sprawdź log gry (latest.log) po /reload — błędny JSON jest tam raportowany, nie na czacie.
  2. /recipe give @s <namespace>:<recipe> — jeśli id przepisu jest złe, to zgłosi błąd, co oznacza, że plik w ogóle nie jest czytany.
  3. Odblokowanie przepisu to coś innego niż istnienie przepisu. Przepis działa w siatce, nawet jeśli nigdy nie pojawia się w Książce przepisów.

Buduj JSON przepisów, predykatów i zestawów z kluczami i tagami sprawdzonymi w Datapack JSON Builders.

Kreatory JSON do pakietów danych →

Więcej poradników

Zobacz wszystkie →