Salut les moddeurs.
J'aurais besoins d'aide en ce qui concerne la génération d'arbres (via modloader ou non) dans le nether. Voici le code que j'ai fait, aucunes erreurs lors de la compilation, mais aucuns arbres dans le nether.
Fichier mod (m'enfin juste la partie pour la gén') :
Fichier WorldGenTreesNether.java
Merci d'avance!
J'aurais besoins d'aide en ce qui concerne la génération d'arbres (via modloader ou non) dans le nether. Voici le code que j'ai fait, aucunes erreurs lors de la compilation, mais aucuns arbres dans le nether.
Fichier mod (m'enfin juste la partie pour la gén') :
Code:
public void GenerateNether(World world, Random random, int i, int j)
{
WorldGenTreesNether worldgentreesnether = new WorldGenTreesNether();
int k = i + random.nextInt(16) + 8;
int l = j + random.nextInt(16) + 8;
int i1 = world.getHeightValue(k, l);
worldgentreesnether.func_517_a(1.0D, 1.0D, 1.0D);
worldgentreesnether.generate(world, random, k, i1, l);
}
Fichier WorldGenTreesNether.java
Code:
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) braces deadcode
package net.minecraft.src;
import java.util.Random;
// Referenced classes of package net.minecraft.src:
// WorldGenerator, World, Block, BlockLeaves,
// BlockGrass
public class WorldGenTreesNether extends WorldGenerator
{
public WorldGenTreesNether()
{
}
public boolean generate(World world, Random random, int i, int j, int k)
{
int l = random.nextInt(3) + 4;
boolean flag = true;
if(j < 1 || j + l + 1 > 128)
{
return false;
}
for(int i1 = j; i1 <= j + 1 + l; i1++)
{
byte byte0 = 1;
if(i1 == j)
{
byte0 = 0;
}
if(i1 >= (j + 1 + l) - 2)
{
byte0 = 2;
}
for(int i2 = i - byte0; i2 <= i + byte0 && flag; i2++)
{
for(int l2 = k - byte0; l2 <= k + byte0 && flag; l2++)
{
if(i1 >= 0 && i1 < 128)
{
int j3 = world.getBlockId(i2, i1, l2);
if(j3 != 0 && j3 != Block.wood.blockID)
{
flag = false;
}
} else
{
flag = false;
}
}
}
}
if(!flag)
{
return false;
}
int j1 = world.getBlockId(i, j - 1, k);
if(j1 != Block.netherrack.blockID && j1 != Block.netherrack.blockID || j >= 128 - l - 1)
{
return false;
}
world.setBlock(i, j - 1, k, Block.netherrack.blockID);
for(int k1 = (j - 3) + l; k1 <= j + l; k1++)
{
int j2 = k1 - (j + l);
int i3 = 1 - j2 / 2;
for(int k3 = i - i3; k3 <= i + i3; k3++)
{
int l3 = k3 - i;
for(int i4 = k - i3; i4 <= k + i3; i4++)
{
int j4 = i4 - k;
if((Math.abs(l3) != i3 || Math.abs(j4) != i3 || random.nextInt(2) != 0 && j2 != 0) && !Block.opaqueCubeLookup[world.getBlockId(k3, k1, i4)])
{
world.setBlock(k3, k1, i4, Block.wood.blockID);
}
}
}
}
for(int l1 = 0; l1 < l; l1++)
{
int k2 = world.getBlockId(i, j + l1, k);
if(k2 == 0 || k2 == Block.wood.blockID)
{
world.setBlock(i, j + l1, k, Block.leaves.blockID);
}
}
return true;
}
}
Merci d'avance!