MFF

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

    Structure

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.9.4
    24 Messages 5 Publieurs 3.7k 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.
    • TituyaT Hors-ligne
      Tituya
      dernière édition par

      Alors deja merci de vos réponses, j’ai fait ce sujet rapidement car je n’avais pas le temps de chercher dans les classes etc. J’ai donc fait aucune recherche dans les classes de minecraft. Mais je trouve quand même blessante la réponse de Plaigon. Bien sûr que oui je sais utiliser les BlockPos !
      Et dylem, j’ai mit justement .mainRegistry mais je savais également que il me fallait cette méthode mais je ne savais pas quoi y mettre dedans !
      Celon moi, la seule réponse qui m’a servi est celle de Robin (merci :D)
      Desoler d’être aussi sec. Je n’avais seulement pas le temps de chercher, je devais faire quelque chose de plus important,
      Cordialement
      Tituya

      Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

        Salut, je n’ai pas le sentiment d’avoir été blessant, mais je trouve ça absurde de venir affirmer qu’on sait se servir des BlockPos, alors qu’on ne connaît même pas l’existence des méthodes principales de la classes, telles que down ou up, pour décaler les coords 😕

        Ah et par ailleurs, je n’avais pas vu le début de ton message, mais c’est encore plus ridicule que le reste. Tu viens proclamer haut et fort que tu n’as fait aucune recherches, que Monsieur n’avait pas le temps d’aller voir 1 ou 2 classes (t’aurais alors “perdu” 20 minutes à tout casser), alors que c’est totalement contre le règlement. Je veux pas paraître froid ou faire le morale, mais pour un problème aussi simple à résoudre que ça, ça fait limite “profiteur” d’aller poster un sujet sur le forum….
        Et fais attention un peu à ton ton, j’ai senti à un moment de l’arrogance quand tu nous as fait signe que nos remarques ne servaient à rien. Autant dire dans ton poste principale que tu ne souhaitais l’intervention de personne, exceptée de robin.

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

          Ce n’est pas du tout ce que je voulais dire ! En effet, je devais vraiment partir rapidement et précipitamment (je ne donnerais pas de raison à cela) desoler pour avoir paru arrogant mais j’étais énervé envers quelque chose et ça c’est ressenti dans mon message précédent ! Maintenant que je suis calmer, je suis près à résoudre seul ce problème ! Je suis juste partie au quart de tour ! En vous faisant regretté ce pourquoi j’étais énervé !
          Et vos remarque ne servent absolument PAS à rien ! Elles m’aide à développer et à apprendre grâce à vos réponses construites !

          Desoler d’avoir réagi comme cela.

          Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

            Bon deja, je suis désoler mais je me tourne encore vers vous.
            Je n’y arrive vraiment pas 😕
            Je suis rendu à la position des blocks, mais je n’ai pas d’indication 😕

            J’ai une erreur ici :

            private void generateSurface(World world, Random rand, int i, int j)
            {
            int x1 = rand.nextInt(16);
            int y1 = rand.nextInt(128);
            int z1 = rand.nextInt(16);
            **(new Structure()).generate(world, rand, x1, y1, z1);**
            }
            

            Ceci est ma classe StructureTuto

            Ma classe Structure:

            public class Structure extends WorldGenerator
            {
            @Override
            public boolean generate(World world, Random rand, BlockPos position)
            {
            world.setBlockState(position.add(0, 0, 0), Blocks.LOG.getDefaultState());
            world.setBlockState(position.add(0, 1, 0), Blocks.DIAMOND_BLOCK.getDefaultState());
            world.setBlockState(position.add(0, 2, 0), Blocks.SPONGE.getDefaultState());
            return true;
            }
            
            }
            

            Elle n’a pas beaucoup changé…
            Mais là, il va y avoir un probleme dans la génération je pense mais je sait pas comment y remédier 😕
            J’ai déja essayé plusieurs choses comme ça :

            public boolean generate(World world, Random rand, BlockPos position, int x, int y, int z)
            {
            world.setBlockState(position.add(x, y, z), Blocks.LOG.getDefaultState());
            world.setBlockState(position.add(x, y + 1, z), Blocks.DIAMOND_BLOCK.getDefaultState());
            world.setBlockState(position.add(x, y + 2, z), Blocks.SPONGE.getDefaultState());
            return true;
            }
            

            Mais rien à faire, ça ne marche pas 😕

            Si vous avez du temps, pouvez vous m’indiquez comment le faire ?
            Merci

            Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

            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

              (new Structure()).generate(world, rand, new BlockPos(x1, y1, z1));

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

                Ok merci, test ca

                Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

                  Sujet casiment fini, il me reste cependant un seul probleme, qui est bien chiant je vous l’accorde. Je souhaite faire génerer ma structure sur le sol, jusque là pas de probleme, seulement, le code a changé depuis la 1.7.10 !
                  J’ai donc fait cela (qui ne fonctionne pas bien sur)
                  Je comprend vraiment pas pourquoi ça ne fonctionne pas …
                  Et ne dite pas que j’ai mal chercher ma structure, j’ai rajouté un system.out.printLn !

                  Voila mon code actuelle :

                  package com.tuto.mod.world;
                  
                  import java.util.Random;
                  
                  import com.tuto.mod.common.Tituya;
                  
                  import net.minecraft.init.Blocks;
                  import net.minecraft.util.math.BlockPos;
                  import net.minecraft.world.World;
                  import net.minecraft.world.gen.feature.WorldGenerator;
                  
                  public class Structure extends WorldGenerator
                  {
                  @Override
                  public boolean generate(World world, Random rand, BlockPos position)
                  {
                  if (world.getBlockState(position.down()) == Blocks.SAND && world.isAirBlock(position.up()))
                  {
                  world.setBlockState(position, Blocks.LOG.getDefaultState());
                  world.setBlockState(position.up(), Blocks.DIAMOND_BLOCK.getDefaultState());
                  world.setBlockState(position.up(2), Blocks.SPONGE.getDefaultState());
                  Tituya tituya = new Tituya(world);
                  tituya.setPosition(position.getX(), position.getY() + 3, position.getZ());
                  world.spawnEntityInWorld(tituya);
                  System.out.println("LA STRUCTURE EST GENERE");
                  return true;
                  }
                  return false;
                  }
                  
                  }
                  

                  Sans le if, elle fonctionne, étrange 😕

                  Merci de vos réponses futurs.

                  Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

                  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

                    Surement car la probabilité que ta structure tente de se générer dans la configuration où il y a un bloc de sable en dessous et un bloc d’air au dessus est rare.

                    Il faudrait soit augmenter fortement la probabilité soit faire que lors que la structure tente de se générer à un emplacement (x, y z), faire un boucle qui augmente y jusqu’à trouver la surface et générer à ces coordonnées là.

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

                      J’ai pourtant générer un biome ENTIÈREMENT remplie de sable 😕 La structure ne devrait que spawner !
                      Et pour la boucle, comment je fait ?

                      Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

                        Je pense plutôt que c’est parce que tu compares un block et un IBlockState…
                        Essaie Blocks.SAND.getDefaultState() plutôt dans ta condition

                        Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

                        1 réponse Dernière réponse Répondre Citer 1
                        • TituyaT Hors-ligne
                          Tituya
                          dernière édition par

                          Je test cela 😄
                          EDIT, MERCI enormement ! manque plus qu’a bossé sur l’aspect de la structure !

                          Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

                            pas de soucis, hésite pas à poser des questions tant que tu fais un peu de recherche avant 🙂

                            Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

                            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

                              @‘Dylem’:

                              Je pense plutôt que c’est parce que tu compares un block et un IBlockState…
                              Essaie Blocks.SAND.getDefaultState() plutôt dans ta condition

                              Bien vu ! je n’avais pas fait attention à cette erreur.

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

                                Pour tout ceux qui veulent update leurs structures en 1.9 en plus. Voici le code :

                                
                                public class Structure extends WorldGenerator
                                {
                                @Override
                                public boolean generate(World world, Random rand, BlockPos position)
                                {
                                if (world.getBlockState(position.down()) == Blocks.SAND.getDefaultState() && world.isAirBlock(position.up()))
                                {
                                //BASE
                                world.setBlockState(position, Blocks.PLANKS.getDefaultState());
                                world.setBlockState(position.up(), Blocks.LOG.getDefaultState());
                                world.setBlockState(position.east(), Blocks.PLANKS.getDefaultState());
                                world.setBlockState(position.north(), Blocks.PLANKS.getDefaultState());
                                world.setBlockState(position.south(), Blocks.PLANKS.getDefaultState());
                                world.setBlockState(position.west(), Blocks.PLANKS.getDefaultState());
                                
                                return true;
                                }
                                return false;
                                }
                                
                                }
                                

                                Il y a deux choses qui m'énerve dans la vie : les babouches et les personnes jouant en 1.7.10 !

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

                                  Petite astuce quand tu postes ton code :
                                  Copies-le là-dedans : http://tabstospaces.com/

                                  ça va changer les tabulations en espaces et donc ils seront pris en compte par le forum 🙂

                                  Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

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

                                    Ou alors vous configurez eclipse pour que vos tab soit des espaces

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

                                      @‘BrokenSwing’:

                                      Ou alors vous configurez eclipse pour que vos tab soit des espaces

                                      Je connaissais pas merci 🙂

                                      Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

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

                                      MINECRAFT FORGE FRANCE © 2024

                                      Powered by NodeBB