Créer une plante cultivable
-
Salut, dans le proxy client retire cette ligne :
this.registerBlockTexture(ModBlocks.triticaleCrop, “triticaleCrop”);
Elle est inutile car en effet la texture de l’item associer à la plantation n’a pas de raison d’exister comme ce bloc ne sera jamais présent sous forme d’item. -
Et bien, en fait, je ne le register pas :
- Je register le bloc
- Je register la graîne puis la culture
- Je register le model de la graîne et le model de la culture
C’est vraiment, mais vraiment bizarre. La seule différence avec le tutoriel est que je register la graîne et que j’ai un ModelManager plus tordu (pris de Choonster, un brave homme du forum anglophone) :
BlockHandler.java
ModelManager.javaEt pourtant tu peux voir dans le ModelManager que je n’appelle nullement un quelconque register sur le BlockHandler.blockBarleyCrop
Si vous voulez plus de précision sur les assets (l’unlocalizedName du block étant block_barley_crop) :
- Il y a un block_barley_crop.json dans les blockstates qui contient les variants du plant (de l’âge 0 à l’âge 7)
- Il y a sept models block_barley_crop_stageX.json dans models/block
- Il n’y a pas de block_barley_crop.json dans models/item, mais il y a celui de la graîne (item_barley_seed.json) et celui de la culture (item_barley_crop.json)
-
Peut-être le code qui cherche par défaut la texture dans l’inventaire alors.
Le système de json est assez obscure, en général quand un bloc de minecraft n’a pas de json c’est hardcodé et il n’est pas possible de reproduire se comportement dans un mod (enfin il me semble pas). -
J’ai fait quelques blocks qui sont dans le même cas et j’ai juste mis ça :
@SideOnly(Side.CLIENT) private static void addInexistantItemRender(Item item) { ModelBakery.addVariantName(item, new String[0]); }Et ça marche très bien (aucun message d’erreur).
-
Ah, bon à savoir. Je prends note, ça pourra aussi m’être utile, merci

-
@‘AymericRed’:
J’ai fait quelques blocks qui sont dans le même cas et j’ai juste mis ça :
@SideOnly(Side.CLIENT) private static void addInexistantItemRender(Item item) { ModelBakery.addVariantName(item, new String[0]); }Et ça marche très bien (aucun message d’erreur).
ModelBakery.addVariantName est deprecated (du moins sur la version avec laquelle je travaille, à savoir 1.8.9 build 1722). Du coup, avec registerItemVariants ce serait quoi selon vous ? Un ModelResourceLocation, mais initialisée de quelle façon ?
-
ça a été remplacé par registerItemVariants :
ModelBakery.addVariantName(item, new ResourceLocation[0]); -
Ah je savais pas que ça avais changé en 1.8.9…
-
@‘robin4002’:
ça a été remplacé par registerItemVariants :
ModelBakery.addVariantName(item, new ResourceLocation[0]);Tu veux dire ModelBakery.registerItemVariants(item, new ResourceLocation[0])

-
Heu oui x)
-
Validé
-
Bonjour je suis en 1.11 étant donné que la classe corncrop ne contient pas de constructeur comment peut-on faire pour enregistrer la texture de ce bloc ? (Qui s’enregistrer grâce au constructeur dans la classe de notre bloc via la fonction setBlockName)
-
Bonsoir, il faudrait probablement gérer cela dans les fichiers json (blockstates) de ton block.
-
Bonjour j’ai un bug concernant le sol de ma culture j’ai mis Blocks.GRASS pour que je puisse planter ma graine sur l’herbe mais cela ne fonctionne pas (la graine refuse de se planter sur l’herbe et ce plante sur la terre labourée)
-
salut,
j’aimerai savoir comment faire pour ne pas caser la plant pour récupérer l’item mais plus tôt que quand je fais click droit sur la plant celle si drop les items -
Ce sujet est-il fera le en 1.12.2?
-
C’est peu probable qu’il soit mis à jour en 1.12, en revanche, il est possible qu’il soit fait pour la 1.15.
-
Comment peut t’on faire pour que le temps de de “poussé” sois plus long et que il y ai un pourcentage de chance que la plante drop un autre item?

