[JAVA] Ich habe eine Klasse erstellt, die automatisch Json generiert, die die Textur von Minecraft angibt [1.12.2]

Einführung

Heutzutage sind Minecraft-Ressourcen seit 1.8 im Blockzustand implementiert, und außerdem muss ich Json schreiben, um Texturen zuzuweisen. Dadurch ist es möglich geworden, 3D-Modelle einfach zu implementieren. Zum Zeitpunkt von Modding musste ich jedoch mindestens einen Json für alle zusätzlichen Inhalte schreiben, was ich sehr ärgerlich fand.

Eigentlich habe ich den Code vor ein paar Monaten selbst erstellt, aber nach langer Zeit habe ich ihn neu geschrieben, um die Verwendung zu vereinfachen.

Ich werde es veröffentlichen, weil es eine große Sache ist!

Entwicklungsumgebung

Quellcode

Der Quellcode ist auf GitHub verfügbar. Außerdem haben wir für die Entwicklung auf einen Quellcode aus ** GitHub besiegtecrow / HeatAndClimateLib ** verwiesen. Es steht Ihnen frei, es basierend auf den Bestimmungen der Referenzquelle umzuleiten oder zu ändern.

GitHub NaturalStyle2 (Repository) GitHub NaturalStyle2-JsonHelper (Link, der direkt zur Klasse springt)

Ursprünglich war es ein Teil eines Mods, den ich langsam als Hobby gemacht habe, also sind die Namen usw. dafür. Wenn Sie es in Ihrer eigenen Umgebung verwenden möchten, ändern Sie mindestens die folgenden Teile.

0b7ba4beb506998c18ebdbfa128f1b98.png ** isDebug ** wird für die Beurteilung verwendet, da ich den Prozess nur im Debug-Modus ausführen möchte, damit die Operation nicht schwer wird. Ich kann es mit config ändern, aber wenn ich nicht besonders darüber bin, kann ich es direkt mit false / true umschreiben?

Schreiben Sie für ** modID ** die ModID Ihrer Entwicklungsumgebung. 2ca6399ba26c62e31ac69f61bcbef145.png Geben Sie im Argument den Pfad ** des Ressourcenordners der Entwicklungsumgebung ** ein. Sie können den Pfad, den Sie im Explorer sehen, kopieren und einfügen.

Was du tun kannst

Automatische Blockstatusgenerierung

6d546cd92438a2cec97c2a3acfc254d0.png

Da die Richtung auf der Nordseite festgelegt ist, müssen Sie einen Code schreiben, um ihn entsprechend zu drehen.

Automatische Blockmodellgenerierung

007f8ec437b36eb656432ebb23f563a6.png

Die Zahl in Klammern entspricht der erforderlichen Anzahl von Texturen. ** top ** usw. sind Namen, die nach dem Namen der Basistextur zusammen mit ** _ ** hinzugefügt werden müssen.

Automatische Generierung des Artikelmodells

Das Modell für Blöcke wird zur Anzeige im Inventar verwendet.

Wie benutzt man

2cb47f13461cde9d162247862c06d62d.png

Die Klasse ** JsonHelper ** ist die Klasse, die die Verarbeitung tatsächlich durchführt. Im Fall eines Bildes wird beispielsweise die Methode, die die Verarbeitung ausführt, im Konstruktor der Klasse des hinzuzufügenden Blocks aufgerufen.

public void registerJson(Object target, JsonType type, String name)

Zielblock- oder Objektinstanz Typ Wählen Sie den Typ aus, den Sie in JsonType implementieren möchten name Der Name, der für die Ausgabe verwendet wird

Der Name-Teil wird unter der Annahme geschrieben, dass ** getUnlocalizedName () ** verwendet wird. Verwenden Sie dies also.

Ich möchte es in anderen Versionen verwenden!

Es wird erwartet, dass diese Klasse mit 1.12.2 funktioniert, daher besteht eine hohe Wahrscheinlichkeit, dass sie mit anderen Versionen nicht funktioniert.

In diesem Fall sollten Sie bei ** generateJson (...) ** den Inhalt des Ersetzens von ** output ** in der Mitte für jeden JsonType ändern. 67788e672eb17e461253f197ad0a33dd.png

Am Ende

Ich denke, diese Klasse wird die Entwicklungsgeschwindigkeit dramatisch erhöhen. Es ist eine ziemlich selbstbewusste Arbeit. Lol Bitte benutze es. Na dann!

Recommended Posts

Ich habe eine Klasse erstellt, die automatisch Json generiert, die die Textur von Minecraft angibt [1.12.2]
Ich habe eine Quelle erstellt, die automatisch eine JPA-Entitätsklassendatei generiert
Ich habe einen MOD erstellt, der sofort ein Fahrzeug mit Minecraft anruft
Ich habe eine Viewer-App erstellt, die PDF anzeigt
Erstellt das JAVA-Framework "numatrix", das auf einfache Weise eindeutige numerische Werte in einer verteilten Umgebung und mit mehreren Threads generiert