Création de minerai
-
@‘DiabolicaTrix’:
@Override public Item getItemDropped(int meta, Random random, int fortune) { return TonMod.tonItemADropper; }j’ai pas mal bidouiller avec ce code jusqu’à obtenir quelques chose de stable. Malheureusement pour moi le code final n’a rien donné. J’ai beau faire une classe de type bloc et ajouter la variable (J’ai même dû recoder le bloc en conséquence), je n’obtient toujours pas l’item.
Voilà le code de la classe:[size=small**package**] com.mod1.mod.Block; [size=small**import**] java.util.Random; [size=small**import**] com.mod1.mod.Init.itemsmod; [size=small**import**] net.minecraft.block.Block; [size=small**import**] net.minecraft.block.material.Material; [size=small**import**] net.minecraft.item.Item; [size=small**public**] **[size=smallclass]** oreblockRubis **[size=smallextends]** Block { **[size=smallpublic]** oreblockRubis(Material [size=smallmaterialIn]) { **[size=smallsuper]**([size=smallmaterialIn]); **[size=smallthis]**.setHarvestLevel([size=small"Pickaxe"], 2); } **[size=smallpublic]** Item getItemDropped(**[size=smallint]** [size=smallmeta], Random [size=smallrandom], **[size=smallint]** [size=smallfortune]) { **[size=smallreturn]** itemsmod.*[size=smallitemRubis]*; } } -
Quelle est ta version de forge (1.7 ou 1.8) ?
Excuse-moi c’est marqué dans le titre, en 1.8 la fonction est :@Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return tonItem; }Et je te fait remarquer que tu ne respectes pas la convention Java, le nom d’une classe commence par une majuscule
-
@‘bodri’:
Quelle est ta version de forge (1.7 ou 1.8) ?
Excuse-moi c’est marqué dans le titre, en 1.8 la fonction est :@Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { return tonItem; }Et je te fait remarquer que tu ne respectes pas la convention Java, le nom d’une classe commence par une majuscule
Je ne connaissais pas cette convention x)
En tout cas je vais tester ce codeedit: je viens de tester le code et ça marche! je suis aux anges

par contre le fortune semble inopérant, j’ai tester sur un peu plus d’une 100ène de minerais récoltés sans obtenir le moindre petit supplément

en tout cas c’est un bon gros plus pour toi car tu m’as apporté une aide assez importante!

-
Fait attention à override pour être certain d’utiliser la bonne méthode.
-
@‘DiabolicaTrix’:
Fait attention à override pour être certain d’utiliser la bonne méthode.
le soucis c’est que la façon dont je veux l’intégrer dans ma classe fait que le @override ne fonctionne pas, il ne fait que fausser le code
-
Si le @Override cause une erreur cela veut dire que la méthode n’existe pas dans la classe mère. C’est pour ça que le @Override ne fonctionnait pas avec le premier code qu’on t’as donné, ce n’était pas la bonne méthode.
Sur le deuxième code qu’on t’as donné ça devrait fonctionner. -
@‘robin4002’:
Si le @Override cause une erreur cela veut dire que la méthode n’existe pas dans la classe mère. C’est pour ça que le @Override ne fonctionnait pas avec le premier code qu’on t’as donné, ce n’était pas la bonne méthode.
Sur le deuxième code qu’on t’as donné ça devrait fonctionner.d’accord merci beaucoup!
Par contre je fais comment pour activer la variable fortune? car là elle est inopérante à priori -
Activer ? C’est à dire ?
-
Il demande en fait comment faire pour qu’avec une pioche fortune, il y ai plus de minerais qui drop, il me semble que la variable int fortune se trouvant dans la fonction retourne le niveau de l’enchantement fortune de l’outil mais je ne suis pas sûr, si c’est le cas il faut seulement utiliser cette variable pour effectuer un calcul
-
C’est ça, l’int fortune est le niveau de l’enchantement. Mais pour dropper plus il faut utiliser la fonction quantityDropped et non celle-ci.