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

      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