MFF

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

    Comment crée un arbre 1.8.9

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.8.9
    38 Messages 5 Publieurs 6.1k 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.
    • AxaurusA Hors-ligne
      Axaurus
      dernière édition par

      Salut. Il suffit d’adapter le code en regardant celui de base. Ou est-ce que tu bloque ?

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

        J’ai réussi à me débloquer c’est t’es juste éclipse qui me fessait chier xD___J’a essayer de bien adapter mais sa ne fonctionne pas est que qu’elle qu’un peut m’expliquer merci encore

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

          Qu’est-ce qui ne marche pas ? Faut être plus précis …

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

              @Override
               public boolean generate(World world, Random rand, BlockPos position)
               {
                   // où nous ajoutons les blocs à générer
                   for(int i = 0; i < 10; i++)
                   {
                       world.setBlock(position.getX(), position.getY() + i, position.getZ(), BlockMod.test);
                   }
            
                   world.setBlock(position.getX(), position.getY() + 10, position.getZ(), BlockMod.test);
                   world.setBlock(position.getX(), position.getY() + 11, position.getZ(), BlockMod.test);
            
                   for(int i = 9; i < 12; i++)
                   {
                       world.setBlock(position.getX() + 1, position.getY() + i, position.getZ(), BlockMod.test);
                       world.setBlock(position.getX() - 1, position.getY() + i, position.getZ(), BlockMod.test);
                       world.setBlock(position.getX(), position.getY() + i, position.getZ() + 1, BlockMod.test);
                       world.setBlock(position.getX(), position.getY() + i, position.getZ() - 1, BlockMod.test);
            
                   }
                   world.setBlock(position.getX() + 1, position.getY() + 5, position.getZ(), BlockMod.test);
                   world.setBlock(position.getX() - 1, position.getY() + 5, position.getZ(), BlockMod.test);
                   world.setBlock(position.getX(), position.getY() + 5, position.getZ() + 1, BlockMod.test);
                   world.setBlock(position.getX(), position.getY() + 5, position.getZ() - 1, BlockMod.test);
            
                   world.setBlock(position.getX() + 2, position.getY() + 9, position.getZ(), BlockMod.test);
                   world.setBlock(position.getX() - 2, position.getY() + 9, position.getZ(), BlockMod.test);
                   world.setBlock(position.getX(), position.getY() + 9, position.getZ() + 2, BlockMod.test);
                   world.setBlock(position.getX(), position.getY() + 9, position.getZ() - 2, BlockMod.test);
            
                   world.setBlock(position.getX() + 1, position.getY() + 9, position.getZ() + 1, BlockMod.test);
                   world.setBlock(position.getX() - 1, position.getY() + 9, position.getZ() - 1, BlockMod.test);
                   world.setBlock(position.getX() - 1, position.getY() + 9, position.getZ() + 1, BlockMod.test);
                   world.setBlock(position.getX() + 1, position.getY() + 9, position.getZ() - 1, BlockMod.test);
            
                   return true;
               }
            

            c’est au niveaux du setBlock il me dit une erreur

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

              On pourrait connaître l’erreur, ou a-t-on encore droit à une devinette supplémentaire ?

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

                Désolé j’avait oublié de précisé l’erreur “The method setBlock(int, int, int, Block) is undefined for the type world”.

                Désolé d’avoir oublié de préciser l’erreur.

                Cordialement ,
                lexmad13009

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

                  En 1.8 World#setBlock, devient World#setBlockState
                  Du coup fais plutôt un world.setBlockState(new BlockPos(position.getX(), position.getY() + i, position.getZ()), BlockMod.test.getDefaultState());, pour le premier.

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

                    Merci mais sa me met une erreur “The constructeur BlockPos(int, int, int, iBlockState) is undefined”
                    sinon j’ai essayer sa “world.setBlockState(position.getX(), position.getY() + i, position.getZ(), BlockMod.test.getDefaultState(), flags);” mais à la place de flags je sais pas quoi mettre

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

                      J’avais oublié une parenthèse, j’ai édité mon message. T’aurais pu le deviner tout de même ^^’

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

                        Merci et j’avais pas remarqué

                        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

                          En flag met 2 ou 3. (2 = update vers le client, 3 = update serveur et client).

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

                            Bonjour je voudrait sa voir comment fair que si on à des int x y z comment on peut le regrouper en position

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

                              En BlockPos ? C’est une mauvaise idée pour la mémoire mais sinon tu peux faire new BlockPos(x, y, z)

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

                                Est que qu’elle qu’un peut me donner un exemple car je n’y arrive pas et ne comprend pas

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

                                  Un exemple de quoi ?

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

                                    Pour faire un arbre et le généré

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

                                      J’ai réussi à avoir un résultat plus ou moins convenable en copiant les classes de minecraft et du tutoriel :

                                      public class TreeGenerator implements IWorldGenerator
                                      {
                                      @Override
                                      public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
                                      if (world.provider.getDimensionId() == 0) {
                                      int x = chunkX * 16;
                                      int z = chunkZ * 16;
                                      int x1 = x + random.nextInt(16);
                                      int y1 = random.nextInt(128);
                                      int z1 = z + random.nextInt(16);
                                      for (int i = 0; i < 100; i++)
                                      {
                                      (new TreeStructure(true)).generate(world, random, new BlockPos(x1, y1, z1));
                                      }
                                      }
                                      }
                                      }
                                      
                                      public class TreeStructure extends WorldGenAbstractTree
                                      {
                                      private final int minTreeHeight;
                                      private final boolean vinesGrow;
                                      private final int metaWood;
                                      private final int metaLeaves;
                                      private static final String __OBFID = "CL_00000438";
                                      
                                      public TreeStructure(boolean p_i2027_1_) {
                                      this(p_i2027_1_, 4, 0, 0, false);
                                      }
                                      
                                      public TreeStructure(boolean p_i2028_1_, int p_i2028_2_, int p_i2028_3_, int p_i2028_4_, boolean p_i2028_5_) {
                                      super(p_i2028_1_);
                                      this.minTreeHeight = p_i2028_2_;
                                      this.metaWood = p_i2028_3_;
                                      this.metaLeaves = p_i2028_4_;
                                      this.vinesGrow = p_i2028_5_;
                                      }
                                      
                                      public boolean generate(World worldIn, Random p_180709_2_, BlockPos p_180709_3_) {
                                      int i = p_180709_2_.nextInt(3) + this.minTreeHeight;
                                      boolean flag = true;
                                      
                                      if (p_180709_3_.getY() >= 1 && p_180709_3_.getY() + i + 1 <= 256) {
                                      byte b0;
                                      int l;
                                      
                                      for (int j = p_180709_3_.getY(); j <= p_180709_3_.getY() + 1 + i; ++j) {
                                      b0 = 1;
                                      
                                      if (j == p_180709_3_.getY()) {
                                      b0 = 0;
                                      }
                                      
                                      if (j >= p_180709_3_.getY() + 1 + i - 2) {
                                      b0 = 2;
                                      }
                                      
                                      for (int k = p_180709_3_.getX() - b0; k <= p_180709_3_.getX() + b0 && flag; ++k) {
                                      for (l = p_180709_3_.getZ() - b0; l <= p_180709_3_.getZ() + b0 && flag; ++l) {
                                      if (j >= 0 && j < 256) {
                                      if (!this.isReplaceable(worldIn, new BlockPos(k, j, l))) {
                                      flag = false;
                                      }
                                      } else {
                                      flag = false;
                                      }
                                      }
                                      }
                                      }
                                      
                                      if (!flag) {
                                      return false;
                                      } else {
                                      BlockPos down = p_180709_3_.down();
                                      Block block1 = worldIn.getBlockState(down).getBlock();
                                      boolean isSoil = block1.canSustainPlant(worldIn, down, net.minecraft.util.EnumFacing.UP, (net.minecraft.block.BlockSapling) Blocks.sapling);
                                      
                                      if (isSoil && p_180709_3_.getY() < 256 - i - 1) {
                                      block1.onPlantGrow(worldIn, down, p_180709_3_);
                                      b0 = 3;
                                      byte b1 = 0;
                                      int i1;
                                      int j1;
                                      int k1;
                                      int l1;
                                      BlockPos blockpos1;
                                      
                                      for (l = p_180709_3_.getY() - b0 + i; l <= p_180709_3_.getY() + i; ++l) {
                                      i1 = l - (p_180709_3_.getY() + i);
                                      j1 = b1 + 1 - i1 / 2;
                                      
                                      for (k1 = p_180709_3_.getX() - j1; k1 <= p_180709_3_.getX() + j1; ++k1) {
                                      l1 = k1 - p_180709_3_.getX();
                                      
                                      for (int i2 = p_180709_3_.getZ() - j1; i2 <= p_180709_3_.getZ() + j1; ++i2) {
                                      int j2 = i2 - p_180709_3_.getZ();
                                      
                                      if (Math.abs(l1) != j1 || Math.abs(j2) != j1 || p_180709_2_.nextInt(2) != 0 && i1 != 0) {
                                      blockpos1 = new BlockPos(k1, l, i2);
                                      Block block = worldIn.getBlockState(blockpos1).getBlock();
                                      
                                      if (block.isAir(worldIn, blockpos1) || block.isLeaves(worldIn, blockpos1) || block.getMaterial() == Material.vine) {
                                      this.func_175905_a(worldIn, blockpos1, Blocks.gold_block, this.metaLeaves);
                                      }
                                      }
                                      }
                                      }
                                      }
                                      
                                      for (l = 0; l < i; ++l) {
                                      BlockPos upN = p_180709_3_.up(l);
                                      Block block2 = worldIn.getBlockState(upN).getBlock();
                                      
                                      if (block2.isAir(worldIn, upN) || block2.isLeaves(worldIn, upN) || block2.getMaterial() == Material.vine) {
                                      this.func_175905_a(worldIn, p_180709_3_.up(l), Blocks.diamond_block, this.metaWood);
                                      
                                      if (this.vinesGrow && l > 0) {
                                      if (p_180709_2_.nextInt(3) > 0 && worldIn.isAirBlock(p_180709_3_.add(-1, l, 0))) {
                                      this.func_175905_a(worldIn, p_180709_3_.add(-1, l, 0), Blocks.vine, BlockVine.EAST_FLAG);
                                      }
                                      
                                      if (p_180709_2_.nextInt(3) > 0 && worldIn.isAirBlock(p_180709_3_.add(1, l, 0))) {
                                      this.func_175905_a(worldIn, p_180709_3_.add(1, l, 0), Blocks.vine, BlockVine.WEST_FLAG);
                                      }
                                      
                                      if (p_180709_2_.nextInt(3) > 0 && worldIn.isAirBlock(p_180709_3_.add(0, l, -1))) {
                                      this.func_175905_a(worldIn, p_180709_3_.add(0, l, -1), Blocks.vine, BlockVine.SOUTH_FLAG);
                                      }
                                      
                                      if (p_180709_2_.nextInt(3) > 0 && worldIn.isAirBlock(p_180709_3_.add(0, l, 1))) {
                                      this.func_175905_a(worldIn, p_180709_3_.add(0, l, 1), Blocks.vine, BlockVine.NORTH_FLAG);
                                      }
                                      }
                                      }
                                      }
                                      
                                      if (this.vinesGrow) {
                                      for (l = p_180709_3_.getY() - 3 + i; l <= p_180709_3_.getY() + i; ++l) {
                                      i1 = l - (p_180709_3_.getY() + i);
                                      j1 = 2 - i1 / 2;
                                      
                                      for (k1 = p_180709_3_.getX() - j1; k1 <= p_180709_3_.getX() + j1; ++k1) {
                                      for (l1 = p_180709_3_.getZ() - j1; l1 <= p_180709_3_.getZ() + j1; ++l1) {
                                      BlockPos blockpos3 = new BlockPos(k1, l, l1);
                                      
                                      if (worldIn.getBlockState(blockpos3).getBlock().isLeaves(worldIn, blockpos3)) {
                                      BlockPos blockpos4 = blockpos3.west();
                                      blockpos1 = blockpos3.east();
                                      BlockPos blockpos5 = blockpos3.north();
                                      BlockPos blockpos2 = blockpos3.south();
                                      
                                      if (p_180709_2_.nextInt(4) == 0 && worldIn.getBlockState(blockpos4).getBlock().isAir(worldIn, blockpos4)) {
                                      this.func_175923_a(worldIn, blockpos4, BlockVine.EAST_FLAG);
                                      }
                                      
                                      if (p_180709_2_.nextInt(4) == 0 && worldIn.getBlockState(blockpos1).getBlock().isAir(worldIn, blockpos1)) {
                                      this.func_175923_a(worldIn, blockpos1, BlockVine.WEST_FLAG);
                                      }
                                      
                                      if (p_180709_2_.nextInt(4) == 0 && worldIn.getBlockState(blockpos5).getBlock().isAir(worldIn, blockpos5)) {
                                      this.func_175923_a(worldIn, blockpos5, BlockVine.SOUTH_FLAG);
                                      }
                                      
                                      if (p_180709_2_.nextInt(4) == 0 && worldIn.getBlockState(blockpos2).getBlock().isAir(worldIn, blockpos2)) {
                                      this.func_175923_a(worldIn, blockpos2, BlockVine.NORTH_FLAG);
                                      }
                                      }
                                      }
                                      }
                                      }
                                      
                                      if (p_180709_2_.nextInt(5) == 0 && i > 5) {
                                      for (l = 0; l < 2; ++l) {
                                      for (i1 = 0; i1 < 4; ++i1) {
                                      if (p_180709_2_.nextInt(4 - l) == 0) {
                                      j1 = p_180709_2_.nextInt(3);
                                      EnumFacing enumfacing = EnumFacing.getHorizontal(i1).getOpposite();
                                      this.func_175905_a(worldIn, p_180709_3_.add(enumfacing.getFrontOffsetX(), i - 5 + l, enumfacing.getFrontOffsetZ()), Blocks.cocoa, j1 << 2 | EnumFacing.getHorizontal(i1).getHorizontalIndex());
                                      }
                                      }
                                      }
                                      }
                                      }
                                      
                                      return true;
                                      } else {
                                      return false;
                                      }
                                      }
                                      } else {
                                      return false;
                                      }
                                      }
                                      
                                      private void func_175923_a(World worldIn, BlockPos p_175923_2_, int p_175923_3_) {
                                      this.func_175905_a(worldIn, p_175923_2_, Blocks.vine, p_175923_3_);
                                      int j = 4;
                                      
                                      for (p_175923_2_ = p_175923_2_.down(); worldIn.getBlockState(p_175923_2_).getBlock().isAir(worldIn, p_175923_2_) && j > 0; –j) {
                                      this.func_175905_a(worldIn, p_175923_2_, Blocks.vine, p_175923_3_);
                                      p_175923_2_ = p_175923_2_.down();
                                      }
                                      }
                                      }
                                      

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

                                        Aux niveaux du “public class TreeGenerator implements IWorldGenerator” c’est pas plutot “public class TreeGenerator implements WorldGenerator”
                                        car moi sa me fait une erreur “IWorldGenerator cannot be resolved to a type”

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

                                          Essaie d’importer car chez moi ça existe, c’est la classe qui est enregistrée dans le GameRegistry

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

                                            Non cbon c’est juste que la libréries forgesrc était plus la mais je les récup___Juste un dernier problème il me demande de créer la mathode “func_175905_a” et les flag “EAST_FLAG” ect me font ce porblème “EAST_FLAGcannot be resolved or is not a field”

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB