Problème génération biome



  • Bonjour à tous me voila ici pour exposer mon problème,

    j'ai créé un biome, du moins j'essaye,  j'ai quelques erreurs que je ne comprend pas donc je vais vous poster mon code en indiquant la ligne ou ça bug :

    http://pastebin.com/tA8ej3AL

    ligne :   15    28   30  (la  30 il ne comprend pas worldGeneratorBigTree, ce qui est important car je veux faire des arbres gigantesques).

    Si vous avez des idées pour m'aider à avancer, ça serait vraiment top.

    j'en profite aussi, pour faire des arbres vraiment géants,  vous avez des idées ?

    merci de votre aide.

    Cordialement,
    Sventus.



  • 1- Ta classe Arbre ne ressemble à rien
    2- A quoi sert la classe Arbre ?
    3- Pense à la convention java : en anglais et avec le type de la classe



  • la classe Arbre, c'est celle la classe de mon biome.



  • Elle étant pas d'un biome pourtant



  • c'est honteux, j'ai fait extends BiomeGenBase mais j'ai toujours les mêmes erreurs (sauf celle sur worldGeneratorBigTree)

    mais ici :

    public WorldGenerator getRandomWorldGenForTree(Random par1Random){

    j'ai un problème au niveau des "()"



  • Revoi le tutoriel



  • j'ai fait des bêtises donc  xD  ok je vais voir, merci

    les errurs ne changent pas 😞



  • Il te met quoi comme erreur sur les "()" ?

    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk



  • l'erreur n'existe plus.

    cependant quand je fais :

    this.topBlock = (byte)Block.blockRedstone.blockID   ça ne reconnait pas "blockRedstone"

    dans la classe principale :

    GameRegistry.addBiome(giantBiome);

    "addbiome" n'est pas défini pour la method gameregistry.

    giantBiome = new GiantBiome(40).setBiomeName("new").setDisableRain().setTemperatureRainfall(1.2F, 0.9F).setEnableSnow().setMinMaxHeight(0.3F, 0.5F);

    de même pour setminmaxheight pour la methode biomegenbase

    EDIT :

    giantBiome = new GiantBiome(40).setBiomeName("Giant");
            BiomeDictionary.registerBiomeType(giantBiome, Type.MOUNTAIN);
            BiomeManager.addSpawnBiome(giantBiome);

    j'ai fait ça, je semble pas avoir d'erreur  mais je n'ai rien besoin d'autres que la class principale et Giantbiome ?  car je fais le test, mais je trouve pas mon biome, donc je sais pas s'il se génère ou pas


  • Administrateurs

    this.topBlock = Blocks.red_stone;

    GameRegistry.addBiome(giantBiome);
    n'existe plus en 1.7, il faut passer en effet par le biome manager



  • merci robin,  je dois faire d'autres class pour pouvoir le trouver mon biome ? en sachant que j'aimerais avoir des immenses arbres dans ce biome.

    j'ai aucune erreur (enfin eclipse me le dit pas ^^)

    voila celle que j'ai pour le moment :

    class principale :

    public static BiomeGenBase giantBiome;

    giantBiome = new GiantBiome(40).setBiomeName("Giant");
            BiomeDictionary.registerBiomeType(giantBiome, Type.MOUNTAIN);
            BiomeManager.addSpawnBiome(giantBiome);

    class GiantBiome :

    
    package fr.craftesys.crftesys.biome;
    
    import java.util.Random;
    
    import net.minecraft.block.Block;
    import net.minecraft.entity.monster.EntityCreeper;
    import net.minecraft.entity.monster.EntityEnderman;
    import net.minecraft.entity.monster.EntitySkeleton;
    import net.minecraft.entity.monster.EntitySlime;
    import net.minecraft.entity.monster.EntitySpider;
    import net.minecraft.entity.monster.EntityWitch;
    import net.minecraft.entity.monster.EntityZombie;
    import net.minecraft.entity.passive.EntityBat;
    import net.minecraft.entity.passive.EntityChicken;
    import net.minecraft.entity.passive.EntityCow;
    import net.minecraft.entity.passive.EntityPig;
    import net.minecraft.entity.passive.EntitySheep;
    import net.minecraft.entity.passive.EntitySquid;
    import net.minecraft.init.Blocks;
    import net.minecraft.world.World;
    import net.minecraft.world.biome.BiomeGenBase;
    import net.minecraft.world.gen.feature.WorldGenBigTree;
    import net.minecraft.world.gen.feature.WorldGenTrees;
    import net.minecraft.world.gen.feature.WorldGenerator;
    
    public class GiantBiome extends BiomeGenBase {
         public Block topBlock;
        private int grassPerChunk;
    
        public GiantBiome(int par1) {
            super(par1);
            this.topBlock = Blocks.redstone_ore;
            this.theBiomeDecorator.treesPerChunk = 10;
            this.waterColorMultiplier = 0x00FFFF;
            this.grassPerChunk = 1;
            this.topBlock = Blocks.wool;
            this.worldGeneratorBigTree = new WorldGenBigTree(false);
            this.theBiomeDecorator = this.createBiomeDecorator();
            this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntitySheep.class, 12, 4, 4));
            this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityPig.class, 10, 4, 4));
            this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityChicken.class, 10, 4, 4));
            this.spawnableCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityCow.class, 8, 4, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySpider.class, 100, 4, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityZombie.class, 100, 4, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySkeleton.class, 100, 4, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityCreeper.class, 100, 4, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntitySlime.class, 100, 4, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityEnderman.class, 10, 1, 4));
            this.spawnableMonsterList.add(new BiomeGenBase.SpawnListEntry(EntityWitch.class, 5, 1, 1));
            this.spawnableWaterCreatureList.add(new BiomeGenBase.SpawnListEntry(EntitySquid.class, 10, 4, 4));
            this.spawnableCaveCreatureList.add(new BiomeGenBase.SpawnListEntry(EntityBat.class, 10, 8, 8));
            this.addDefaultFlowers();
            this.setMinMaxHeight(0.2F, .9F);
        }
        private void setMinMaxHeight(float f, float g) {
            // TODO Auto-generated method stub
    
        }
        public int getBiomeGrassColor()
        {
    
        return 0xFF0C00;
        }
        public void decorate(World par1World, Random par2Random, int par3, int par4)
        {
            super.decorate(par1World, par2Random, par3, par4);
            if (par2Random.nextInt(1000) == 0)
            {
                int k = par3 + par2Random.nextInt(16) + 25;
                int l = par4 + par2Random.nextInt(16) + 25;
                }
        }
         public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
            {
               return (WorldGenerator)(par1Random.nextInt(5) == 0 ? new WorldGenTrees(false, 30, 2, 2, false) : (par1Random.nextInt(10) == 0 ? this.worldGeneratorBigTree : new WorldGenTrees(false, 40, 0, 0, false)));
            }
    }
    
    


  • j'ai donc refait la class comme demandé, je n'ai donc pas d'erreur mais je n'arrive toujours pas à trouver mon biome


  • Administrateurs

    Ça fait longtemps que je n'ai plus fait de biome donc franchement aucune idée x)



  • 😮 le grand robin qui ne sait pas ? tu m'impressionnes vraiment



  • Tu as bien register le biome ? Essaye d'augmenter le proba qu'il apparaisse.
    (Après je sais pas, je sais juste ajouter des biomes dans une dimension custom, mais pas dans celles de mc).

    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk



  • public static BiomeGenBase giantBiome;

    giantBiome = new GiantBiome(40).setBiomeName("Giant");
    BiomeDictionary.registerBiomeType(giantBiome, Type.MOUNTAIN);
    BiomeManager.addSpawnBiome(giantBiome);

    c'est tout ce que j'ai dans ma class principale car le simpe gameregistry ne marche plus, pour la probabilité, je vois pas comment l'augmenter 😕



  • Utilise BiomeManager.addBiome(le type, new BiomeEntry(ton biome, la probabilité)) ;
    Et en laissant le addSpawn.

    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk



  • cela ne fonctionne pas



  • Ah…. Je ne sais pas alors...
    Essaye de voir les sources d'un mod comme Biomes o'plenty (si elles existent).

    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk



  • ok je vais voir demain, demain réveil Xd, bonne nuit merci