Impossible trouver biome et structure en même temps
-
Les arbres des biomes sont gérés dans la fonction protected void genDecorations(BiomeGenBase p_150513_1_)
int i, j, k; for (i = 0; doGen && i < this.sandPerChunk; ++i) { j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; this.tonGenerator.generate(this.currentWorld, this.randomGenerator, j, this.randomGenerator.nextInt(128) ,k); }tonGenerator = instance de WorldGen
-
les arbres spawn dans mon biome, en l’occurence c’est la structure ayant la forme d’un arbre qui ne spawn pas
-
Je disais les arbres sont généré dans cette fonction pour que tu en prennes exemple.
Tu as juste a reprendre le code que je t’ai donné et à le mettre dans genDecorations
-
la fonction genDecorations je ne trouve pas en faisant ctrl + espace
-
C’est que tu dois déjà l’avoir dans ta classe, ou alors elle n’a pas le même nom (selon la version).
-
J’ai lancé eclipse en 1.7.10 pour regarder ça, donc je suis sûr du nom.
-
Mhhhhh étrange alors ^^. Je dois être un peu ****
-
Après vous êtes peut-être tous les deux en 1.7.10 mais la versions des mappings (qui permettent de faire func_61556_4 vers fonctionCompréhenssible) changent tout.
-
La fonction genDecoration est égale a func_150513_a
D’après ce document : https://github.com/ntzrmtthihu777/CreepyPastaCraft/blob/master/gradle/methods.csv
-
et je dois mettre tout ça dans quel class ? car je dois déclarer chaque variable comme “chunk_Z” “sansperchuck” donc je pense que je ne met pas la fonction au bon endroit, ni même si le nom trouvé correspond à genDecorations
-
Oui mais ce nom n’est utilisé que lorsque le code est recompilé en .jar et donc reobfuscé. Là ce nest pas le cas, car il a accès aux sources.
-
car je ne trouve vraiment pas ce nom de fonction donc c’est embêtant :S
-
sandPerChunk tu remplaces par une autre valeur, j’avais prit exemple sur le générateur du sable.
chunk_Z et chunk_X sont des variables de biome gen, elles devraient exister. -
j’ai trouvé la fonction, mais elle est ern protected, donc je vois pas comment faire.
quand j’écris ça :
public void genDecorations(BiomeGenBase p_150513_1_)
{
int i, j, k;
for (i = 0; doGen && i < this.sandPerChunk; ++i)
{
j = this.chunk_X + this.randomGenerator.nextInt(16) + 8;
k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8;
this.tonGenerator.generate(this.currentWorld, this.randomGenerator, j, this.randomGenerator.nextInt(128) ,k);
}
}j’ai des erreurs ou je dois déclarer “sand perchunk” “chunk_z/_x” “randomGenerator”
sinon j’ai eu une idée, à me dire si c’est pas possible, mais ici :
private void generateSurface(World world, Random random, int x, int z)
{
int x1 = x + random.nextInt(16);
int y1 = random.nextInt(128);
int z1 = z + random.nextInt(16);
for (int i = 0; i < 1000; i++) // Il vaut mieux mettre une valeur élevée
{System.out.println(“message de debug”);
(new WorldGen()).generate(world, random, x1, y1, z1);}
}je fais donc appel à la class qui donne la structure, mais si je pouvais insérer le biome directement dans le world, ou si dans le worldtype j’ajoute la structure, ça doit passer non ?
(mais je sais pas comment faire)
-
personne ? :S
-
J’ai pas compris ce que tu voulais dire : tu dis avoir trouvé une fonction en protected sauf qu’elle est publique…
-
@‘SCAREX’:
J’ai pas compris ce que tu voulais dire : tu dis avoir trouvé une fonction en protected sauf qu’elle est publique…
Ah ouais x) si elle est en protected c’est pas pour rien laisse la comme elle est sinon ça va pas marcher c’est sur.
-
donc en gros, j’ai soit le biome soit la structure, moi dans mon code j’ai la fonction que j’ai posté précédemment, à savoir :
private void generateSurface(World world, Random random, int x, int z)
{
int x1 = x + random.nextInt(16);
int y1 = random.nextInt(128);
int z1 = z + random.nextInt(16);
for (int i = 0; i < 1000; i++) // Il vaut mieux mettre une valeur élevée
{System.out.println(“message de debug”);
(new WorldGen()).generate(world, random, x1, y1, z1);}
}j’ai essayé de l"intégrer dans la class générant le biome mais ça ne marche pas.
et la class protected provient d"une class de Minecraft, je ne peux pas la changer, mais je vois pas comment la reprendre comme me l’a dit robin alors que justement, comme elle est protected, je n’arrive pas à le faire.
-
J’ai toujours rien compris
-
en gros, j’ai un biome et j’ai une structure, et je n’arrive pas à avoir les deux en même temps, dans le monde de base, la structure spawn et quand je fais un monde worldtype, le biome est trouvé mais pas la structure.
Donc robin m’a dit de regarder du côté de la fonction genDecorations qui est en protected donc je savais pas comment faire.
j’ai donc regardé la génération de la structure, qui est faite via le code donné juste avant, et j’ai essayé d’intégrer ce code dans la class créant le biome, mais évidemment ça n’a pas marché
