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

      Il me semble avoir vu un logiciel pour convertir ses .schematic en Java, je crois que c’était sur les Minecraft Forums.

      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
      • FlowF Hors-ligne
        Flow
        dernière édition par

        Merci j’ai trouver je pense voici pour ceux que cela intéresse 😄

        http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-tools/1263960-1-3-2-updated-metadata-support-simple-schematic

        Oui ce gif est drôle.

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

          ça ne marcheras pas, ce logiciel était prévu dans la partie bonus avant de me rendre compte qu’il ne marche pas en 1.7 😞

          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
          • Superloup10S Hors-ligne
            Superloup10 Modérateurs
            dernière édition par

            Le logiciel fonctionne, il donne juste du code erroné car il n’a pas été mis à jour depuis longtemps.

            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • 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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB