[Java] Erstellen wir einen Minecraft Mod 1.14.4 [6. Rezept hinzufügen]

(Dieser Artikel gehört zu einer Reihe von Kommentaren)

Erster Artikel: Einführung Vorheriger Artikel: 5. Rüstung hinzufügen Nächster Artikel: 7. Fortschritt hinzufügen

Rezept hinzufügen

\src\main\resources
   ├ assets
   └ data
      └ example_mod
         ├ loot_tables
         └ recipes
            └ example_sword.json

example_sword.json


{
  "type": "minecraft:crafting_shaped",
  "pattern": [
    "#",
    "#",
    "X"
  ],
  "key": {
    "#": {
      "item": "example_mod:example_ingot"
    },
    "X": {
      "item": "minecraft:stick"
    }
  },
  "result": {
    "item": "example_mod:example_sword"
  }
}

In 1.14.4 erfordert das Hinzufügen von Rezepten keinen Schreibcode und kann basierend auf json hinzugefügt werden. Fügen wir ein Standardrezept hinzu, zum Beispiel ein Schwertrezept. Erstellen Sie einen Ordner "\ src \ main \ resources \ data \ prescription" und legen Sie die Rezeptdatei darin ab. Sie können ein Standardrezept erstellen, indem Sie "minecraft: crafting_shaped" zu "type" geben. Ein Standardrezept ist ein Handwerksrezept, in dem die Anordnung der Zutaten festgelegt ist. Verwenden Sie "Schlüssel", um das Element zu bestimmen, das einem Token entspricht (# und X hier, aber alles ist in Ordnung), und verwenden Sie diesen Token, um das "Muster" in Form einer Matrix von 3 x 3 oder weniger zu platzieren. Zu entscheiden. Geben Sie den Gegenstand an, der als Ergebnis der Herstellung in "Ergebnis" erhalten wurde. キャプチャ.PNG Sie können jetzt Schwerter machen. In diesem Beispiel wird nur eine Zeile zum Anordnen der Materialien verwendet, sodass Sie sie an jeder Position vertikal erstellen können, wie in der Abbildung gezeigt. Da "nichts" durch ein Leerzeichen mit halber Breite angezeigt wird, können Sie explizit Folgendes tun, aber selbst in diesem Fall können Sie anscheinend auch eine vertikale Spalte links oder rechts erstellen.

python


  "pattern": [
    " # ",
    " # ",
    " X "
  ]

Atypisches Rezept

Als nächstes fügen wir ein unregelmäßiges Rezept hinzu, das die Anordnung der Materialien nicht spezifiziert. Als Beispiel ist es ein wenig ungeeignet, aber betrachten Sie ein Rezept, das zwei Blöcke in 18 Barren zerlegt.

\src\main\resources
   ├ assets
   └ data
      └ example_mod
         ├ loot_tables
         └ recipes
            └ example_ingot.json

example_ingot.json


{
  "type": "minecraft:crafting_shapeless",
  "ingredients": [
    {
      "item": "example_mod:example_block"
    },
    {
      "item": "example_mod:example_block"
    }
  ],
  "result": {
    "item": "example_mod:example_ingot",
    "count": 18
  }
}

Sie können ein atypisches Rezept erstellen, indem Sie "minecraft: crafting_shapeless" zu "type" geben. "Zutaten" ist eine Reihe von Materialien, in denen die für die Herstellung verwendeten Gegenstände aufgelistet sind. result ist das gleiche wie das Standardrezept. Sie können die Nummer mit "count" angeben (sie wurde im vorherigen Abschnitt weggelassen, da sie standardmäßig 1 ist). キャプチャ.PNG Der Barren wurde aus einer beliebigen Anordnung erhalten.

Schmelzrezept

Als nächstes fügen Sie ein Rezept für die Verfeinerung mit einem Kamado hinzu. Lassen Sie uns zum Beispiel Diamanten verfeinern, damit wir Barren bekommen.

\src\main\resources
   ├ assets
   └ data
      └ example_mod
         ├ loot_tables
         └ recipes
            └ furnace
               └ example_ingot.json

(Es scheint, dass alle Dateien unter "Rezepte" registriert werden, daher sind möglicherweise die Ordnerstruktur und der Dateiname frei.)

example_ingot.json


{
  "type": "minecraft:smelting",
  "ingredient": {
    "item": "minecraft:diamond"
  },
  "result": {
    "item": "example_mod:example_ingot"
  },
  "experience": 3.0,
  "cookingtime": 200
}

Fügen Sie ein Verfeinerungsrezept hinzu, indem Sie "minecraft: smelting" für "type" angeben. "Zutat" (** Hinweis, da es sich um einen einzelnen Artikel handelt) ist das Material, und "Ergebnis" ist der Artikel nach dem Raffinieren. "Erfahrung" ist der Erfahrungswert, der durch Raffinieren erhalten wird, und "Kochzeit" ist die Raffinierungszeit. Das Vanilleeisen beträgt übrigens 0,7 bzw. 200. キャプチャ.PNG Ich konnte es verfeinern.

Entwicklung

F. Ist es nicht im Rezeptbuch? ** A. Einmal gemacht, wird es aufgelistet. Wenn Sie es an die erste Stelle setzen möchten, müssen Sie den Teil im Zusammenhang mit den Fortschritten ** ändern, aber ich habe es noch nicht gelernt, daher hoffe ich, es später hinzuzufügen.


F. Ich möchte denselben Artikel aus mehreren Materialien herstellen ** A. Es gibt drei Lösungen. ** ** ** Die erste besteht darin, einfach so viele JSON-Dateien für das Rezept zu erstellen. Nicht empfohlen. Die zweite besteht darin, mehrere Elemente an "key" oder "ingradient" zu übergeben.

X-Position ist Stock oder Eiche_Entweder Holz


{
  "type": "minecraft:crafting_shaped",
  "pattern": [
    "#",
    "#",
    "X"
  ],
  "key": {
    "#": {
      "item": "example_mod:example_ingot"
    },
    "X": [
      {
        "item": "minecraft:stick"
      },
      {
        "item": "minecraft:oak_wood"
      }
    ]
  },
  "result": {
    "item": "example_mod:example_sword"
  }
}

Das Material ist Diamant oder Gold_Entweder Barren


{
  "type": "minecraft:smelting",
  "ingredient": [
    {
      "item": "minecraft:diamond"
    },
    {
      "item": "minecraft:gold_ingot"
    }
  ],
  "result": {
    "item": "example_mod:example_ingot"
  },
  "experience": 3.0,
  "cookingtime": 200
}

(Ich war mir nicht sicher, ob diese Technik für "formlose" Rezepte verwendet werden kann. Scheint sie nicht zu funktionieren?)

Die dritte Methode ist die Verwendung von "tag". Vanillekohle zum Beispiel fertigt einen Gegenstand aus allen Arten von Stämmen. Der Code wird unten angezeigt.

charcoal.json


{
  "type": "minecraft:smelting",
  "ingredient": {
    "tag": "minecraft:logs"
  },
  "result": "minecraft:charcoal",
  "experience": 0.15,
  "cookingtime": 200
}

Dieses Tag wird in "net \ minecraft \ tags \ BlockTags.java" deklariert. Natürlich können Sie neue Tags selbst definieren. Daher empfiehlt es sich, ein Tag zu erstellen, das alternative Materialien zusammenfasst und zur Definition Ihres Rezepts verwendet.


F. Ich möchte das Vanille-Rezept ändern ** A. Einfach hinzuzufügen. Schwer zu ändern. ** ** ** Mit anderen Worten, es ist einfach, C → B zu A → B-Fahrzeugen hinzuzufügen, aber es ist schwierig, zu A → D-Fahrzeugen zu wechseln. Ersteres existiert neben Vanilla's, wenn Sie einfach ein neues Rezept hinzufügen, aber letzteres scheint Vanilla Priorität einzuräumen, selbst wenn Sie ein Rezept aus demselben Material hinzufügen. Daher scheint es notwendig zu sein, zum Code zurückzukehren, um das Rezept zu registrieren.


F. Ich möchte ein Braurezept machen Wahrscheinlich ist es nicht möglich, die oben genannte JSON-Basis für das Brauen von Rezepten hinzuzufügen. (Referenz)

Referenz

Recipes - Forge Documentation Minecraft 1.14.4 Forge Mod Creation Teil 9 [Rezept hinzufügen]

Nächster Artikel

7. Fortschritt hinzufügen

Recommended Posts

[Java] Erstellen wir einen Minecraft Mod 1.14.4 [6. Rezept hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [4. Tools hinzufügen]
[Java] Lass uns einen Minecraft Mod 1.14.4 erstellen [5. Rüstung hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [7. Fortschritt hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Element hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [1. Element hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [2. Fügen Sie einen Block hinzu]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Block hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [3. Registerkarte "Creative hinzufügen"]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Bäume hinzufügen und generieren]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [9. Bäume hinzufügen und generieren]
[Java] Lass uns einen Minecraft Mod 1.14.4 erstellen [8. Erz hinzufügen und erzeugen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [0. Basisdatei]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Extra Edition]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Basisdatei]
Lassen Sie uns eine Java-Entwicklungsumgebung erstellen (Aktualisierung)
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
[Java-Grundlagen] Lassen Sie uns ein Dreieck mit einer for-Anweisung erstellen
Erstellen Sie eine Java-Methode [Memo] [java11]
[Java] Erstellen Sie eine temporäre Datei
So erstellen Sie ein leichtes Container-Image für Java-Apps
[Java-Zweig] Erstellen Sie einen Parser-Kombinator für die rekursive Abstiegssyntaxanalyse 2
Erstellen eines MOB mit dem Minecraft Java Mythicmobs-Plug-In | Vorbereitung 1
Lassen Sie uns eine TODO-App in Java 4 erstellen. Implementierung der Buchungsfunktion
Wie unterschreibe ich Minecraft MOD?
Lassen Sie uns eine TODO-App in Java 6 erstellen. Implementierung der Suchfunktion
Lassen Sie uns eine TODO-App in Java 8 erstellen. Implementierung von Bearbeitungsfunktionen
minecraft1.14.4 MOD-Entwicklungsmemorandum 1 [Originalrezept]
Erstellen Sie ein Java-Projekt mit Eclipse
Erstellen wir eine TODO-Anwendung mit Java 1 Kurze Erläuterung von MVC
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
Erstellen Sie einen fließenden Server zum Testen
Lassen Sie uns Docker unter Windows 10 installieren und eine Überprüfungsumgebung für CentOS 8 erstellen!
[Java-Zweig] Erstellen Sie einen Parser-Kombinator für die rekursive absteigende Syntaxanalyse (machen Sie sich auch Notizen).
Los geht's mit Watson Assistant (ehemals Conversation) ⑤ Erstellen Sie einen Chatbot mit Watson + Java + Slack
Erstellen Sie mit Docker für Mac Teil2 eine Entwicklungsumgebung für Java-Webanwendungen
[Java] Erstellen und Anwenden eines Folienmasters
So erstellen Sie ein Maven-Repository für 2020
Erstellen Sie eine TODO-App in Java 7 Create Header
[Java] Erstellen wir eine DB-Zugriffsbibliothek!
Erstellen wir eine Taschenrechner-App mit Java ~ Erstellen Sie einen Anzeigebereich im Fenster
Java (add2)
Java (hinzufügen)
Erstellen wir eine vielseitige Dateispeicher (?) - Operationsbibliothek, indem wir die Dateispeicherung / -erfassung mit Java abstrahieren
[Azure] Ich habe versucht, eine Java-App für die Erstellung von kostenlosen Web-Apps zu erstellen. [Anfänger]
Ich habe ein Diff-Tool für Java-Dateien erstellt
So erstellen Sie überall eine H2-Datenbank
Eine Geschichte über die Java 11-Unterstützung für Webdienste
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
Erstellen wir eine REST-API mit WildFly Swarm.
[Windows] [IntelliJ] [Java] [Tomcat] Erstellen Sie mit IntelliJ eine Umgebung für Tomcat 9
[Java] Erstellen Sie so etwas wie eine Produktsuch-API