MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Générer une structure

    Planifier Épinglé Verrouillé Déplacé La génération & les dimensions
    1.7.x
    67 Messages 21 Publieurs 32.2k Vues 1 Watching
    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.
    • M Hors-ligne
      MrAzErTy31
      dernière édition par

      Le code est vraiment érroné où il suffit juste de changer la fonction (les coordonnées et les blocs y sont) ?

      Mes mods :

      >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
      CraftYourMenu : http://minecraftforgefrance.fr/showth…

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

        Changer la fonction + ajouter ,3

        1 réponse Dernière réponse Répondre Citer 0
        • FlowF Hors-ligne
          Flow
          dernière édition par

          Existe t-il d’autres logiciels pour la conversion de Shematics en JAVA compatible avec la 1.7 ?

          Oui ce gif est drôle.

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

            Je ne crois pas.

            1 réponse Dernière réponse Répondre Citer 0
            • bin4r1sB Hors-ligne
              bin4r1s
              dernière édition par

              Bonjour, j’ai suivi le tuto (et utilisé mon expérience passée) et j’ai créé une structure. Problème :
              Alors que le code de génération s’exécute (tests au System.out.print), la structure ne se génère pas.
              Un peu d’aide ?

              DragonsWorldGenerator :

              
              public class DragonsWorldGenerator implements IWorldGenerator
              {
              private static boolean hasGeneratedDungeon = false;
              @Override
              public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
              {
              switch(world.provider.dimensionId)
              {
              /*case 1:
              this.generateEnd(world, chunkX * 16, chunkZ * 16, random);*/
              case 0:
              this.generateSurface(world, chunkX * 16, chunkZ * 16, random);
              /*case -1:
              this.generateNether(world, chunkX * 16, chunkZ * 16, random);*/
              }
              }
              
              private void generateSurface(World world, int x, int z, Random random)
              {
              // Sera migré vers generateNether
              if(hasGeneratedDungeon == false)
              {
              hasGeneratedDungeon = true;
              (new WorldGenNetherDungeon()).generate(world, random, x + 10, 128 /*Valeur de test*/, z +10);
              }
              }
              
              private void generateNether(World world, int x, int z, Random random)
              {
              
              }
              
              private void generateEnd(World world, int x, int z, Random random)
              {
              }
              }
              
              

              WorldGenNetherDungeon :

              
              import java.util.Random;
              
              import net.minecraft.init.Blocks;
              import net.minecraft.world.World;
              import net.minecraft.world.gen.feature.WorldGenerator;
              
              public class WorldGenNetherDungeon extends WorldGenerator
              {
              @Override
              public boolean generate(World world, Random rand, int x, int y, int z)
              {
              if(world.getBlock(x, y - 1, z) == Blocks.air)
              {
              clearZone(world, rand, x, y, z);
              generateGround(world, rand, x, y, z);
              generateFort(world, rand, x, y, z);
              System.out.println("[Dragons][Normal] GENERATED THE STRUCTURE."); // Test
              return true;
              }
              return false;
              }
              
              public void clearZone(World world, Random rand, int x, int y, int z)
              {
              // Caché ;p utilisation des world.setBlockToAir(x, y, z);
              }
              
              public void generateGround(World world, Random rand, int x, int y, int z)
              {
              // Caché ;p utilisation des world.setBlock(x, y, z, Blocks.block)
              }
              
              public void generateFort(World world, Random rand, int x, int y, int z)
              {
              generateTowers(world, rand, x, y, z);
              generateFloor1(world, rand, x, y, z);
              }
              
              public void generateTowers(World world, Random rand, int x, int y, int z)
              {
              // Caché ;p
              }
              
              public void generateFloor1(World world, Random rand, int x, int y, int z)
              {
              // Caché ;p
              }
              }
              
              

              Mes mods:

              • New Ores
              • More Dragons
              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                if(!hasGeneratedDungeon)
                {
                hasGeneratedDungeon = (new WorldGenNetherDungeon()).generate(world, random, x + 10, 128 /*Valeur de test*/, z +10);
                }
                

                Fait comme ça.

                1 réponse Dernière réponse Répondre Citer 0
                • bin4r1sB Hors-ligne
                  bin4r1s
                  dernière édition par

                  Cette fois, le jeu me renvoie une erreur : [Rapport trop long pour ce message] https://www.mediafire.com/?lxitifcn3p4mmi6
                  (Désolé je verrais un peu plus tard pour Github)

                  Mes mods:

                  • New Ores
                  • More Dragons
                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Forcement, tu n’as pas mit des valeurs random, et comme il n’y pas réussi à faire spawn sur les coordonnés que tu as donnés (surement car il n’y a pas d’air) ça a fait une boucle infini …

                    Et pour les gros logs, pastebin, mediafire c’est horrible u_U.

                    1 réponse Dernière réponse Répondre Citer 0
                    • bin4r1sB Hors-ligne
                      bin4r1s
                      dernière édition par

                      Oui mais ça continue à crasher (en y pensant, c’est logique, c’est pas des coordonnées qui vont faire crasher. Si ?).
                      De plus, là où la structure devait se générer (tests), les blocs n’atteignaient pas plus de la couche 79….

                      EDIT : Il semble que ce soit l’utilisation du “hasGeneratedDungeon” qui fasse tout bugger.
                      EDIT II : Ma structure se génère normalement.
                      EDIT III : Je note que ça laggue beaucoup pendant le chargement du monde (après spawn, bugs de chunk de plusieurs minutes) est-ce que quelqu’un connaîtrai une technique moins lourde que des for() et des setblock ?

                      Mes mods:

                      • New Ores
                      • More Dragons
                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        @‘MrBlockTNT’:

                        Oui mais ça continue à crasher (en y pensant, c’est logique, c’est pas des coordonnées qui vont faire crasher. Si ?).

                        Si.
                        Regarde bien ce que tu as fait. La fonction generateSurface est appelé régulièrement, et toi tu essayes de faire spawner la structure sur des coordonnées fixes. Sauf que la fonction generate de WorldGenNetherDungeon ne return que true si la structure a été généré, donc si tu mets des coordonnés fixe où il n’y a pas d’air, il va essayer à chaque fois de le générer.

                        Pour les grosses structures (mines abandonnés, forts) minecraft utilise un autre code mais il est plus difficile à comprendre.

                        1 réponse Dernière réponse Répondre Citer 0
                        • bin4r1sB Hors-ligne
                          bin4r1s
                          dernière édition par

                          Ah d’accord ! Merci 😄 je vais regarder pour le code Minecraft de base et voir pour les coordonnées (EDIT : ça marche merci :))

                          Mes mods:

                          • New Ores
                          • More Dragons
                          1 réponse Dernière réponse Répondre Citer 0
                          • P Hors-ligne
                            Portuar
                            dernière édition par

                            Je ne veux pas du tout critiquer ce tutoriel loin de la, mais je trouve qu’il manque cruellement d information. Par exemple, tu ne précise pas comment générer des block directionnelle comme les escalier, des blocks “double” comme les porte ou le lits. Tu ne stipules pas non plus comment générer des block container tels que des dispenser ou des coffres ou encore comment générer des éclairs ou des cochons avec une selle. Tu devrais aussi mettre un exemple plus concret qu’un totem de trois block une maison par exemple pour ainsi parler de la boucle for qui se trouve être tes utiles dans la génération.

                            bonne continuation ;).

                            1 réponse Dernière réponse Répondre Citer 0
                            • G Hors-ligne
                              gunnerd73
                              dernière édition par

                              @‘Legrandfifou’:

                              Existe t-il d’autres logiciels pour la conversion de Shematics en JAVA compatible avec la 1.7 ?

                              oui je ne sais pas si c’est le schematic to java initial qui a ete repris ou un autre mais regardez et il fonctione 1.7 et est regulierement mis a jour http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-tools/1266014-0-4b-jajo_11s-schematic-to-structure-converter

                              si je t'ai aidé hésite pas le bouton + est là et dans le cas contraire ….

                              1 réponse Dernière réponse Répondre Citer 0
                              • ÜberfapÜ Hors-ligne
                                Überfap
                                dernière édition par

                                Oh merci je vais ajouter ça dans la partie bonus 😉

                                Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                                Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                                1 réponse Dernière réponse Répondre Citer 0
                                • ÜberfapÜ Hors-ligne
                                  Überfap
                                  dernière édition par

                                  @‘Portuar’:

                                  Je ne veux pas du tout critiquer ce tutoriel loin de la, mais je trouve qu’il manque cruellement d information. Par exemple, tu ne précise pas comment générer des block directionnelle comme les escalier, des blocks “double” comme les porte ou le lits. Tu ne stipules pas non plus comment générer des block container tels que des dispenser ou des coffres ou encore comment générer des éclairs ou des cochons avec une selle. Tu devrais aussi mettre un exemple plus concret qu’un totem de trois block une maison par exemple pour ainsi parler de la boucle for qui se trouve être tes utiles dans la génération.

                                  bonne continuation ;).

                                  Pour les blocs* directionnels*, ça ne change pas vraiment du setBlock normal, il me semble qu’il faut utiliser setBlockWithMetadata() un truc comme ça, pour les blocs doubles je n’ai pas essayé mais je pense qu’un simple setBlock() suffit, les containers ils faut faire un setBlock() normal, pour les éclairs c’est dans la partie spawner une entité, et pour spawner un cochon avec une selle c’est pas censé être un tutoriel sur comment customiser des entités, mais il faut modifier une valeur dans le dataWatcher de l’entité. Je n’ai pas fait une grosse structure parce que le code devient très vite confus, de toutes les façons pour générer de grosses structures il vaut mieux utiliser des outils tiers (dont un sur lequel je vais faire une partie bonus). Et merci de ton commentaire 😄

                                  Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                                  Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • darkvince37D Hors-ligne
                                    darkvince37
                                    dernière édition par

                                    J’ai essayer de le faire en 1.8 sauf que le setblock ne marche pas.

                                    ​package fr.darkvince.mine;
                                    
                                    import java.util.Random;
                                    
                                    import net.minecraft.entity.monster.EntityCreeper;
                                    import net.minecraft.init.Blocks;
                                    import net.minecraft.util.BlockPos;
                                    import net.minecraft.world.World;
                                    
                                    public class WorldGenZombie {
                                    
                                        public boolean generate(World worldIn, Random random, int x, int y, int z)
                                        {
                                    
                                        if (!worldIn.isRemote)
                                                {
                                        worldIn.setBlock(x, y, z, Blocks.cobblestone);
                                        worldIn.setBlock(x, y + 1, z, Blocks.cobblestone);
                                        worldIn.setBlock(x, y + 2, z, Blocks.sponge);
                                        EntityCreeper creeper = new EntityCreeper(worldIn);
                                        creeper.setPosition(x, y + 3, z);
                                        worldIn.spawnEntityInWorld(creeper);
                                        return true;
                                        }
                                        return false;
                                        }
                                    }
                                    
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • SCAREXS Hors-ligne
                                      SCAREX
                                      dernière édition par

                                      @‘darkvince37’:

                                      J’ai essayer de le faire en 1.8 sauf que le setblock ne marche pas.

                                      package fr.darkvince.mine;
                                      
                                      import java.util.Random;
                                      
                                      import net.minecraft.entity.monster.EntityCreeper;
                                      import net.minecraft.init.Blocks;
                                      import net.minecraft.util.BlockPos;
                                      import net.minecraft.world.World;
                                      
                                      public class WorldGenZombie {
                                      
                                          public boolean generate(World worldIn, Random random, int x, int y, int z)
                                          {
                                      
                                          if (!worldIn.isRemote)
                                                  {
                                          worldIn.setBlock(x, y, z, Blocks.cobblestone);
                                          worldIn.setBlock(x, y + 1, z, Blocks.cobblestone);
                                          worldIn.setBlock(x, y + 2, z, Blocks.sponge);
                                          EntityCreeper creeper = new EntityCreeper(worldIn);
                                          creeper.setPosition(x, y + 3, z);
                                          worldIn.spawnEntityInWorld(creeper);
                                          return true;
                                          }
                                          return false;
                                          }
                                      }
                                      

                                      Utilise le setBlockState et Blocks.cobblestone.getDefaultState

                                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                                      Pas de demandes de support par MP ni par skype SVP.
                                      Je n'accepte sur skype que l…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • darkvince37D Hors-ligne
                                        darkvince37
                                        dernière édition par

                                        .getDefaultState ne marche pas

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • SCAREXS Hors-ligne
                                          SCAREX
                                          dernière édition par

                                          @‘darkvince37’:

                                          .getDefaultState ne marche pas

                                          Quel est le problème ? La fonction n’existe pas ? Je peux pas vraiment t’aider plus que ça : je n’ai pas eclipse à porté de main. Mais ça doit être quelque chose comme ça vu que je l’ai utilisé dans mon mod il y a quelques semaines.

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • darkvince37D Hors-ligne
                                            darkvince37
                                            dernière édition par

                                            getDefaultState cannot be resolved or is not a field voilà l"erreur

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB