Générer des minerais
-
Je veux bien avoir la “pacience” comme tu dis
.Tu ne fais pas spawner ton minerai plus souvent que le diamant, voici le code pour le diamant :
this.diamondGen = new WorldGenMinable(Blocks.diamond_ore, 7); et la génération : this.genStandardOre1(1, this.diamondGen, 0, 16); qui appelle cette fonction : /** * Standard ore generation helper. Generates most ores. */ protected void genStandardOre1(int p_76795_1_, WorldGenerator p_76795_2_, int p_76795_3_, int p_76795_4_) { for (int l = 0; l < p_76795_1_; ++l) { int i1 = this.chunk_X + this.randomGenerator.nextInt(16); int j1 = this.randomGenerator.nextInt(p_76795_4_ - p_76795_3_) + p_76795_3_; int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); p_76795_2_.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); } } -
Ducou, ques que je doit changer dans mes codes pour qu’il sois 2 foit moin rare que le diaman par exemple?
Edit: j’ai suivi le bonus d tuto, mais bien que je veut que mon minerais de rubis donne une gemme, je voudrais que, a la pioche fortune, toute en gardant une norme de un drop sans celle-ci, puisse dropper plus d’une gemme lorsqu’elle est minée a l’aide d’une pioche fortune.
Bref, j’espere que quelqu’un poura m’aider

-
Salut, j’ai suivi le tuto et il marche très bien, par contre ça ne supporte pas l’enchant Fortune je pense?
Silk Touch marche mais en testant avec une pioche normale et une pioche Fortune sur un minerai droppant un nombre aléatoire d’items entre 3 et 7, je ne vois pas de différence flagrante contrairement au Lapis par exemple où là ça se voit qu’on a fortune.
Et je n’ai pas réussi à trouver comment adapter le drop à l’enchant en fouillant dans les classes de l’enchant et des blocs ore…Quelqu’un a une idée pour ça?
Tu devrais aussi rajouter le code de l’XP que NicoKing60 a donné sur la page 2.
-
L’effet de fortune ne se gère pas dans la génération mais dans la fonction quantityDropped de ton bloc.
-
Ok j’ai trouvé la solution. Il y a une méthode “quantityDroppedWithBonus” dans la classe OreBlock mais ça ne marchait pas (pas compris pourquoi) du coup j’ai fait comme Galacticraft, j’ai renommé en “quantityDropped” et ajouté un @Override avant et là ça marche:
@Override public int quantityDropped(int meta, int fortune, Random random) { if (fortune > 0 && Item.getItemFromBlock(this) != this.getItemDropped(meta, random, fortune)) { int j = random.nextInt(fortune + 2) - 1; if (j < 0) { j = 0; } return this.quantityDropped(random) * (j + 1); } else { return this.quantityDropped(random); } }Cette fonction peut multiplier au maximum le rendement par 5, comme dans Minecraft. Je pigeais pas au début pourquoi ils enlevaient 1 avant de le rajouter après, mais c’est pour éviter d’avoir une multiplication par 0 vu que nextInt() peut renvoyer un 0…
-
Et comment faire pour un random ore ? ( Un minerais aléatoire qui drop parmi 3 créer)
-
Bonsoir,
Avec la fonction getItemDropped.
-
@robin4002 Nickel Merci

-
@agabou salut je voudrais savoir comment faire pour que le minerais spawn genre 2 fois tous les 5chunk
-
@lothbrock Tu est en 1.7 ? Sache que cette version n’est plus supportée par le forum, si tu es en 1.7 change plutôt en 1.16 où je modde.
-
@Krafty oui je suis en 1.7.10 mais j’ai bien avance sur mon mod et j’ai pas envie de le recodé en 1.16
-
@lothbrock Bah alors désolé pour toi mais tu as une chance sur 10000 d’avoir une réponse
