[JAVA] J'ai créé une classe qui génère automatiquement Json qui spécifie la texture de Minecraft [1.12.2]

introduction

En ce qui concerne les ressources Minecraft, l'état de bloc a été implémenté depuis la 1.8, et avec cela, Json doit être écrit pour attribuer des textures. Pour cette raison, il est devenu possible d'implémenter facilement des modèles 3D. Cependant, au moment de Modding, j'ai dû écrire au moins un Json pour tout le contenu supplémentaire, ce que j'ai trouvé très ennuyeux.

En fait, j'ai créé le code lui-même il y a quelques mois, mais après un long moment, je l'ai réécrit pour le rendre plus facile à utiliser.

Je vais le publier car c'est un gros problème!

Environnement de développement

Code source

Le code source est disponible sur GitHub. De plus, nous avons fait référence à du code source de ** GitHub defeatedcrow / HeatAndClimateLib ** pour le développement. Vous êtes libre de le détourner ou de le modifier en fonction des termes de la source de référence.

GitHub NaturalStyle2 (référentiel) GitHub NaturalStyle2-JsonHelper (lien qui accède directement à la classe)

À l'origine, c'était une partie d'un mod que je fabriquais lentement comme passe-temps, donc le nom etc. est pour cela. Si vous souhaitez l'utiliser dans votre propre environnement, veuillez modifier au moins les parties suivantes.

0b7ba4beb506998c18ebdbfa128f1b98.png ** isDebug ** est utilisé pour le jugement car je souhaite exécuter le processus uniquement en mode débogage afin que l'opération ne devienne pas lourde. Je suis capable de le changer avec config, mais si je ne suis pas particulier à ce sujet, puis-je le réécrire directement avec false / true?

Pour ** modID **, écrivez le ModID de votre environnement de développement. 2ca6399ba26c62e31ac69f61bcbef145.png Entrez le ** chemin du dossier de ressources de l'environnement de développement ** dans l'argument. Vous pouvez copier et coller le chemin que vous pouvez voir dans l'Explorateur.

Ce que tu peux faire

Génération automatique de l'état de bloc

6d546cd92438a2cec97c2a3acfc254d0.png

Comme la direction est fixée au côté nord, vous devez écrire un code pour le faire pivoter en conséquence.

Génération automatique de modèles de blocs

007f8ec437b36eb656432ebb23f563a6.png

Le nombre entre parenthèses est le nombre requis de textures. ** top ** etc. sont des noms qui doivent être ajoutés après le nom de la texture de base avec ** _ **.

Génération automatique du modèle d'article

Le modèle des blocs est utilisé pour l'affichage dans l'inventaire.

Comment utiliser

2cb47f13461cde9d162247862c06d62d.png

La classe ** JsonHelper ** est la classe qui effectue réellement le traitement. Par exemple, dans le cas d'une image, la méthode qui effectue le traitement est appelée dans le constructeur de la classe du bloc à ajouter.

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

Bloc cible ou instance d'élément type Sélectionnez le type que vous souhaitez implémenter à partir de JsonType nom Le nom utilisé pour la sortie

La partie nom est écrite en supposant que ** getUnlocalizedName () ** est utilisé, veuillez donc l'utiliser.

Je veux l'utiliser dans d'autres versions!

Cette classe devrait fonctionner avec la version 1.12.2, il y a donc une forte probabilité qu'elle ne fonctionnera pas avec d'autres versions.

Dans ce cas, dans le processus de ** generateJson (...) **, je pense que le contenu de la substitution de ** sortie ** au milieu de chaque JsonType devrait être changé. 67788e672eb17e461253f197ad0a33dd.png

À la fin

Je pense que cette classe augmentera considérablement la vitesse de développement. C'est un travail assez confiant. Lol Veuillez l'utiliser. Eh bien!

Recommended Posts

J'ai créé une classe qui génère automatiquement Json qui spécifie la texture de Minecraft [1.12.2]
J'ai créé une source qui génère automatiquement un fichier de classe d'entité JPA
J'ai créé un MOD qui appelle instantanément un véhicule avec Minecraft
J'ai créé une application de visualisation qui affiche le PDF
Création du framework JAVA "numatrix" qui génère facilement des valeurs numériques uniques dans un environnement distribué et multi-thread
J'ai posé une question qui peut être utilisée pour des entretiens techniques