• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Impossible de générer des minerais

    1.8.x
    1.8
    3
    6
    966
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • F
      francoKo dernière édition par

      Bonsoir à tous. J’ai un problème avec mon développement de mod en 1.8.8. Tout allait bien jusqu’au moment ou j’ai tenté de générer des minerais. Le bug est simple, les minerais ne se génèrent pas. Problématique, effectivement… Je vais vous montrer mes class. Et je précise aussi que je ne suis pas encore un boss dans la matière, même si je tente de me débrouiller ;).

      Class principale :

      http://pastebin.com/33z4wYfY

      Class WorldGen :

      http://pastebin.com/CqRp885A

      Class WorldRegister :

      http://pastebin.com/vBCKUmfy

      Voilà !
      Sinon, merci d’avance. Normalement, j’ai dû faire une orthographe correcte, ce que je trouve la moindre des politesses tout de même. Et désolé pour le sujet qui n’aura pas été très long et très développé, mais il est un peu tard et je pense avoir dit l’essentiel.

      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwing
        BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par

        Pourquoi enregistre-tu 3 fois ton worldGenerator ?
        (Vu le poids de génération que tu as mis je dirais que tu pense qu’il faut l’enregistrer pour chaque dimension)

        J’ai modifié ta classe WorldGen :

        
        public class WorldGeneration implements IWorldGenerator {
        
        @Override
        public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
        {
        switch(world.provider.getDimensionId())
        {
        case -1:
        GenerateNether(world, chunkX * 16, chunkZ * 16, random);
        break;
        
        case 0:
        GenerateOverWorld(world, chunkX * 16, chunkZ * 16, random);
        break;
        
        case 1:
        GenerateEnd(world, chunkX * 16, chunkZ * 16, random);
        break;
        
        }
        }
        
        private void addOre(Block block, Block blockSpawn, Random random, World world, int posX, int posZ, int minY, int maxY, int size, int spawnChance)
        {
        for(int i = 0; i < spawnChance; i++)
        {
        int defaultChunkSize = 16;
        int Xpos = posX + random.nextInt(defaultChunkSize);
        int Ypos = minY + random.nextInt(maxY - minY);
        int Zpos = posZ + random.nextInt(defaultChunkSize);
        
        IBlockState state = block.getDefaultState();
        BlockPos blockPos = new BlockPos(Xpos, Ypos, Zpos);
        
        new WorldGenMinable(state, size, BlockHelper.forBlock(blockSpawn)).generate(world, random, blockPos);
        }
        }
        
        private void GenerateNether(World world, int i, int j, Random random)
        {
        
        }
        
        private void GenerateOverWorld(World world, int i, int j, Random random)
        {
        addOre(Blocks.glass, Blocks.stone , random, world, i, j, 20, 100, 8, 500);
        }
        
        private void GenerateEnd(World world, int i, int j, Random random)
        {
        addOre(Blocks.glass, Blocks.netherrack , random, world, i, j, 20, 100, 8, 60);
        }
        
        

        J’ai changé chunkX = 16 en chunkX * 16, j’ai enlevé l’argument minV car il était inutile et j’ai aussi rajouté BlockHelper.forBlock(…) dans les argument de new WorldGenMinable pour que ça remplace le bon bloc. Voilà

        Et moi ça marche :
        :::

        :::

        Par contre j’ai pas d’image pour la seconde génération car tu remplace de la netherrack dans l’end mais il n’y en a pas, donc bon …

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

          Le problème étant que tu n’appelles jamais la fonction MainRegistry qui se trouve dans WorldRegisterSmy.
          Et d’ailleurs en effet pourquoi l’avoir mit 3 fois ? l’int n’est pas l’id de la dimension, c’est le poids du générateur.

          1 réponse Dernière réponse Répondre Citer 0
          • F
            francoKo dernière édition par

            Bonsoir, déjà merci de vos réponses. Effectivement, je pensais qu’il fallait mettre 3 fois l’int justement car je pensais que c’était comme l’id. Donc, j’ai tenté de mettre ton code modifié BrokenSwing, pourtant rien n’y fait. Ensuite, comment appeler cette fonction ? Désolé de ma noobitude mais je préfère quand même démarrer et apprendre à coder avec éclipse plutôt qu’avec MC Creator 😉 !

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

              Dans la classe principale tu ajoutes WorldRegisterSmy.MainRegistry(); comme tu l’as fait pour tes items. C’est la base de Java appeler une fonction …

              1 réponse Dernière réponse Répondre Citer 0
              • F
                francoKo dernière édition par

                Haaan ! Ca marche ! Merci 1 000 fois et 10 000 excuses pour ma nullité han ❤ !

                1 réponse Dernière réponse Répondre Citer 0
                • 1 / 1
                • Premier message
                  Dernier message
                Design by Woryk
                Contact / Mentions Légales

                MINECRAFT FORGE FRANCE © 2018

                Powered by NodeBB