• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Problème onBlockDestroyed

    1.7.x
    1.7.10
    5
    19
    4297
    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.
    • 2
      20cents34 dernière édition par

      Bonjour, je suis actuellement en train de faire une hache pouvant détruire le bois d’un arbre entier et j’ai réussi à faire disparaître le bois à la verticale, le remplacer par de l’air et faire apparaître l’ItemStack correspondant mais je n’arrive pas à faire la même chose à l’horizontale.

      Classe de l’item :

      package net.mobject.common.item.tool;
      
      import net.minecraft.block.Block;
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.item.EntityItem;
      import net.minecraft.init.Blocks;
      import net.minecraft.init.Items;
      import net.minecraft.item.ItemAxe;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      import net.mobject.common.entity.EntityVoleur;
      
      public class ItemGemmeAxe extends ItemAxe
      {
      public ItemGemmeAxe(ToolMaterial p_i45327_1_) {
      super(p_i45327_1_);
      
      }
      
      public boolean getIsRepairable(ItemStack input, ItemStack repair)
      {
      if(repair.getItem() == Items.diamond)
      {
      return true;
      }
      return false;
      }
      
      public boolean hasEffect(ItemStack stack){
      
      return true;
      
      }
      public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living){
      
      for(int i = y; i < 256; i++)
      {
      int m = world.getBlockMetadata(x, y, y);
      System.out.println(m);
      if(world.getBlock(x, i, z).isWood(world, x, y, z)){
      
      float f = 0.7F;
      
      double d0 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
      double d1 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
      double d2 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
      EntityItem entityitem = new EntityItem(world, (double)x + d0, (double)i + d1, (double)z + d2, new ItemStack(world.getBlock(x, i, z), 1,m));
      world.spawnEntityInWorld(entityitem);
      world.setBlockToAir(x, i, z);
      }
      
      else
      {
      System.out.println("blabla");
      return super.onBlockDestroyed(stack, world, block, x, i, z, living);
      }
      }
      
      for(int j = x; j < 25000 || j == 250000 || j > 250000 ; j++)
      
      {
      if(world.getBlock(j, y, z).isWood(world, x, y, z)){
      
      float f = 0.7F;
      double d0 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
      double d1 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
      double d2 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
      EntityItem entityitem = new EntityItem(world, (double)j + d0, (double)y + d1, (double)z + d2, new ItemStack(world.getBlock(x, y, z), 1, world.getBlockMetadata(j, y, y)));
      
      world.
      world.spawnEntityInWorld(entityitem);
      System.out.println("blabla");
      world.setBlockToAir(j, y, z);
      }
      
      else
      {
      return super.onBlockDestroyed(stack, world, block, j, y, z, living);
      }
      }
      return super.onBlockDestroyed(stack, world, block, x, y, z, living);
      
      }
      
      }
      

      Merci d’avance  🙂

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

        @‘20cents34’:

        Bonjour, je suis actuellement en train de faire une hache pouvant détruire le bois d’un arbre entier et j’ai réussi à faire disparaître le bois à la verticale, le remplacer par de l’air et faire apparaître l’ItemStack correspondant mais je n’arrive pas à faire la même chose à l’horizontale.

        Classe de l’item :

        package net.mobject.common.item.tool;
        
        import net.minecraft.block.Block;
        import net.minecraft.entity.Entity;
        import net.minecraft.entity.EntityLivingBase;
        import net.minecraft.entity.item.EntityItem;
        import net.minecraft.init.Blocks;
        import net.minecraft.init.Items;
        import net.minecraft.item.ItemAxe;
        import net.minecraft.item.ItemStack;
        import net.minecraft.world.World;
        import net.mobject.common.entity.EntityVoleur;
        
        public class ItemGemmeAxe extends ItemAxe
        {
        public ItemGemmeAxe(ToolMaterial p_i45327_1_) {
        super(p_i45327_1_);
        
        }
        
        public boolean getIsRepairable(ItemStack input, ItemStack repair)
        {
        if(repair.getItem() == Items.diamond)
        {
        return true;
        }
        return false;
        }
        
        public boolean hasEffect(ItemStack stack){
        
        return true;
        
        }
        public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living){
        
        for(int i = y; i < 256; i++)
        {
        int m = world.getBlockMetadata(x, y, y);
        System.out.println(m);
        if(world.getBlock(x, i, z).isWood(world, x, y, z)){
        
        float f = 0.7F;
        
        double d0 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
        double d1 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
        double d2 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
        EntityItem entityitem = new EntityItem(world, (double)x + d0, (double)i + d1, (double)z + d2, new ItemStack(world.getBlock(x, i, z), 1,m));
        world.spawnEntityInWorld(entityitem);
        world.setBlockToAir(x, i, z);
        }
        
        else
        {
        System.out.println("blabla");
        return super.onBlockDestroyed(stack, world, block, x, i, z, living);
        }
        }
        
        for(int j = x; j < 25000 || j == 250000 || j > 250000 ; j++)
        
        {
        if(world.getBlock(j, y, z).isWood(world, x, y, z)){
        
        float f = 0.7F;
        double d0 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
        double d1 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
        double d2 = (double)(world.rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
        EntityItem entityitem = new EntityItem(world, (double)j + d0, (double)y + d1, (double)z + d2, new ItemStack(world.getBlock(x, y, z), 1, world.getBlockMetadata(j, y, y)));
        
        world.
        world.spawnEntityInWorld(entityitem);
        System.out.println("blabla");
        world.setBlockToAir(j, y, z);
        }
        
        else
        {
        return super.onBlockDestroyed(stack, world, block, j, y, z, living);
        }
        }
        return super.onBlockDestroyed(stack, world, block, x, y, z, living);
        
        }
        
        }
        

        Merci d’avance  🙂

        Ton code est très étrange, premièrement : ta première boucle va continuer jusqu’à 256 ce qui veut dire que si tu as un bloc de bois à la hauteur 255, il sera aussi cassé alors qu’il n’y a que de l’air entre le block cassé et ce morceau de bois en y = 255. Tu devrais utiliser une boucle do {} while ();, il me semble que robin avait fait un tutoriel pour faire ça dans sa vidéo sur créer des outils, jettes y un coup d’œil.

        Ensuite, ta deuxième boucle est une boucle infinie ce qui n’est vraiment pas à faire. Et pour finir, change cette condition :

        
        if(world.getBlock(j, y, z).isWood(world, x, y, z)){}
        
        

        en :

        
        if(world.getBlock(j, y, z).isWood(world, j, 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
        • 2
          20cents34 dernière édition par

          J’ai regardé le code de robin et il est similaire au miens. Pour la boucles allant jusqu’à 256 j’ai changer la valeur en 25 c’est plus précis mais mon problème est que je n’arrive pas à faire la même chose à l’horizontal. Je sais qu’il faut modifier la boucles for mais en quoi ?

          1 réponse Dernière réponse Répondre Citer 0
          • isador
            isador Moddeurs confirmés Modérateurs dernière édition par

            bha au lieu d’incrémenter les y tu incrémente les x

            1 réponse Dernière réponse Répondre Citer 0
            • 2
              20cents34 dernière édition par

              Ouai mais les y ont une valeur max de 256 et ne peuvent pas aller dans les négatifs alors que les x eux ont des valeurs plus grandes donc je ne sais pas quoi mettre pour que le jeu “test” les blocs autours sans faire une boucles infini

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

                @‘SCAREX’:

                Ton code est très étrange, premièrement : ta première boucle va continuer jusqu’à 256 ce qui veut dire que si tu as un bloc de bois à la hauteur 255, il sera aussi cassé alors qu’il n’y a que de l’air entre le block cassé et ce morceau de bois en y = 255. Tu devrais utiliser une boucle do {} while ();, il me semble que robin avait fait un tutoriel pour faire ça dans sa vidéo sur créer des outils, jettes y un coup d’œil.

                Non. Regarde le else, une fois qu’il n’y a plus de bois au dessus il sort de la fonction. Donc non, il ne cassera pas le bloc de bois qui se trouve en y=255 si il n’y en a pas en dessous.

                Si tu veux casser les blocs de bois sur toutes les directions il faut partir sur quelques choses de complètement différent, celui-ci n’est pas adapté pour.

                   public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living)
                   {
                       if(block.isWood(world, x, y, z))
                       {
                           this.cutWood(world, x, y, z, living.getEquipmentInSlot(0), living);
                       }
                return true;
                
                   }
                
                   public boolean cutWood(World world, int x, int y, int z, ItemStack stack, EntityLivingBase living)
                   {
                       boolean flagxPos = false, flagxNeg = false, flagzPos = false, flagzNeg = false, flagyPos = false, flagyNeg = false;
                
                       if(world.getBlock(x + 1, y, z).isWood(world, x + 1, y, z))
                       {
                           Block b = world.getBlock(x + 1, y, z);
                           int meta = b.damageDropped(world.getBlockMetadata(x + 1, y, z));
                           world.setBlockToAir(x + 1, y, z);
                           this.dropBlockAsItem(world, x + 1, y, z, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                           stack.damageItem(1, living);
                           flagxPos = cutWood(world, x + 1, y, z, stack, living);
                       }
                       else
                       {
                           flagxPos = true;
                       }
                
                       if(world.getBlock(x - 1, y, z).isWood(world, x - 1, y, z))
                       {
                           Block b = world.getBlock(x - 1, y, z);
                           int meta = b.damageDropped(world.getBlockMetadata(x - 1, y, z));
                           world.setBlockToAir(x - 1, y, z);
                           this.dropBlockAsItem(world, x - 1, y, z, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                           stack.damageItem(1, living);
                           flagxNeg = cutWood(world, x - 1, y, z, stack, living);
                       }
                       else
                       {
                           flagxNeg = true;
                       }
                
                       if(world.getBlock(x, y, z + 1).isWood(world, x, y, z + 1))
                       {
                           Block b = world.getBlock(x, y, z + 1);
                           int meta = b.damageDropped(world.getBlockMetadata(x, y, z + 1));
                           world.setBlockToAir(x, y, z + 1);
                           this.dropBlockAsItem(world, x, y, z + 1, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                           stack.damageItem(1, living);
                           flagzPos = cutWood(world, x, y, z + 1, stack, living);
                       }
                       else
                       {
                           flagzPos = true;
                       }
                
                       if(world.getBlock(x, y, z - 1).isWood(world, x, y, z - 1))
                       {
                           Block b = world.getBlock(x, y, z - 1);
                           int meta = b.damageDropped(world.getBlockMetadata(x, y, z - 1));
                           world.setBlockToAir(x, y, z - 1);
                           this.dropBlockAsItem(world, x, y, z - 1, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                           stack.damageItem(1, living);
                           flagzNeg = cutWood(world, x, y, z - 1, stack, living);
                       }
                       else
                       {
                           flagzNeg = true;
                       }
                
                       if(world.getBlock(x, y + 1, z).isWood(world, x, y + 1, z))
                       {
                           Block b = world.getBlock(x, y + 1, z);
                           int meta = b.damageDropped(world.getBlockMetadata(x, y + 1, z));
                           world.setBlockToAir(x, y + 1, z);
                           this.dropBlockAsItem(world, x, y + 1, z, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                           stack.damageItem(1, living);
                           flagyPos = cutWood(world, x, y + 1, z, stack, living);
                       }
                       else
                       {
                           flagyPos = true;
                       }
                
                       if(world.getBlock(x, y - 1, z).isWood(world, x, y - 1, z))
                       {
                           Block b = world.getBlock(x, y - 1, z);
                           int meta = b.damageDropped(world.getBlockMetadata(x, y - 1, z));
                           world.setBlockToAir(x, y - 1, z);
                           this.dropBlockAsItem(world, x, y - 1, z, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                           stack.damageItem(1, living);
                           flagyNeg = cutWood(world, x, y - 1, z, stack, living);
                       }
                       else
                       {
                           flagyNeg = true;
                       }
                       return flagxPos && flagxNeg && flagzPos && flagzNeg && flagyPos && flagyNeg;
                   }
                

                (code de @kevin_68)

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

                  J’ai supposé que ce que tu voulais faire c’était créer une hache qui détruit tous les blocs autour du bloc détruit, voici ce à quoi je suis arrivé :

                  
                  public class SuperAxe extends ItemAxe
                  {
                  private static final String name = "superAxe";
                  
                  protected SuperAxe() {
                  super(ToolMaterial.EMERALD);
                  GameRegistry.registerItem(this, name);
                  setUnlocalizedName(ST18.MODID + "_" + name);
                  setCreativeTab(CreativeTabs.tabTools);
                  }
                  
                  public static String getName() {
                  return name;
                  }
                  
                  @Override
                  public boolean onBlockDestroyed(ItemStack stack, World worldIn, Block blockIn, BlockPos pos, EntityLivingBase playerIn) {
                  if (!worldIn.isRemote && playerIn instanceof EntityPlayer) {
                  worldIn.destroyBlock(pos, true);
                  destroyNearWood(worldIn, pos, stack, playerIn, stack.getMaxDamage() - stack.getItemDamage());
                  stack.damageItem(1, playerIn);
                  if (stack.stackSize <= 0 || stack.getItemDamage() >= stack.getMaxDamage()) ((EntityPlayer) playerIn).destroyCurrentEquippedItem();
                  }
                  return true;
                  }
                  
                  public int destroyNearWood(World world, BlockPos pos, ItemStack stack, EntityLivingBase player, int maxBlocks) {
                  if (world.getBlockState(pos.up()).getBlock().isWood(world, pos.up())) {
                  if (–maxBlocks > 0) {
                  world.destroyBlock(pos.up(), true);
                  stack.damageItem(1, player);
                  maxBlocks = destroyNearWood(world, pos.up(), stack, player, maxBlocks);
                  }
                  }
                  if (world.getBlockState(pos.down()).getBlock().isWood(world, pos.down())) {
                  if (--maxBlocks > 0) {
                  world.destroyBlock(pos.down(), true);
                  stack.damageItem(1, player);
                  maxBlocks = destroyNearWood(world, pos.down(), stack, player, maxBlocks);
                  }
                  }
                  if (world.getBlockState(pos.east()).getBlock().isWood(world, pos.east())) {
                  if (--maxBlocks > 0) {
                  world.destroyBlock(pos.east(), true);
                  stack.damageItem(1, player);
                  maxBlocks = destroyNearWood(world, pos.east(), stack, player, maxBlocks);
                  }
                  }
                  if (world.getBlockState(pos.west()).getBlock().isWood(world, pos.west())) {
                  if (--maxBlocks > 0) {
                  world.destroyBlock(pos.west(), true);
                  stack.damageItem(1, player);
                  maxBlocks = destroyNearWood(world, pos.west(), stack, player, maxBlocks);
                  }
                  }
                  if (world.getBlockState(pos.north()).getBlock().isWood(world, pos.north())) {
                  if (--maxBlocks > 0) {
                  world.destroyBlock(pos.north(), true);
                  stack.damageItem(1, player);
                  maxBlocks = destroyNearWood(world, pos.north(), stack, player, maxBlocks);
                  }
                  }
                  if (world.getBlockState(pos.south()).getBlock().isWood(world, pos.south())) {
                  if (--maxBlocks > 0) {
                  world.destroyBlock(pos.south(), true);
                  stack.damageItem(1, player);
                  maxBlocks = destroyNearWood(world, pos.south(), stack, player, maxBlocks);
                  }
                  }
                  return maxBlocks;
                  }
                  }
                  
                  

                  NOTE : ce code est pour la 1.8 mais si tu es en 1.7 tu pourras tout de même l’utiliser en changeant quelques valeus.

                  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
                  • 2
                    20cents34 dernière édition par

                    Merci, tu supposais bien c’était mon intention 🙂 Sinon l’équivalent de BlockPos en 1.7.10 est x,y,z mais je vois pas trop comment faire pour adapter ton code . Surtout les fonctions pos.south() etc… A moins que pos.up() ) soit égale à y+1 , pos.down() à y -1 mais alors je vois pas se que peut représenter pos.north() et pos.south(). Bref si tu as une idée donne la moi sinon je mettrais mon mod à jour. Et encore merci pour le code.

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

                      up -> y + 1
                      down -> y - 1
                      south -> x + 1
                      north -> x - 1
                      est -> z + 1
                      west -> z - 1
                      (de tête, pas sûr).

                      1 réponse Dernière réponse Répondre Citer 0
                      • 2
                        20cents34 dernière édition par

                        J’ai essayé le code de Robin4002 mais j’ai une erreur sur

                        this.dropBlockAsItem(world, x, y - 1, z, new ItemStack(Item.getItemFromBlock(b), 1, meta));
                        

                        Eclipse me dis que dropBlockAsItem est indéfinie pour ma classe.
                        Et Eclipse ne trouve pas non plus player ici

                        this.cutWood(world, x, y, z, player.inventory.getCurrentItem(), player);
                        
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                          ​
                          private void dropBlockAsItem(World world, int x, int y, int z, ItemStack stack)
                          {
                          if(!world.isRemote && world.getGameRules().getGameRuleBooleanValue("doTileDrops"))
                          {
                          float f = 0.7F;
                          double d0 = world.rand.nextFloat() * f + (1.0F - f) * 0.5D;
                          double d1 = world.rand.nextFloat() * f + (1.0F - f) * 0.5D;
                          double d2 = world.rand.nextFloat() * f + (1.0F - f) * 0.5D;
                          EntityItem entityitem = new EntityItem(world, x + d0, y + d1, z + d2, stack);
                          entityitem.delayBeforeCanPickup = 10;
                          world.spawnEntityInWorld(entityitem);
                          }
                          }
                          

                          Il manquant cette fonction.

                          1 réponse Dernière réponse Répondre Citer 0
                          • 2
                            20cents34 dernière édition par

                            Merci mais j’ai toujours le problème du player. En gros il me le trouve pas et me propose de créer une variable.

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

                              Ajoutes cette variable dans ta méthode
                              EntityPlayer entityplayer = (EntityPlayer)player;

                              1 réponse Dernière réponse Répondre Citer 0
                              • 2
                                20cents34 dernière édition par

                                J’ai une erreur sur le cast : (EntityPlayer)player et onBlockDestroyed me demande un return non présent dans le code de robin4002.

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

                                  @‘20cents34’:

                                  Merci, tu supposais bien c’était mon intention 🙂 Sinon l’équivalent de BlockPos en 1.7.10 est x,y,z mais je vois pas trop comment faire pour adapter ton code . Surtout les fonctions pos.south() etc… A moins que pos.up() ) soit égale à y+1 , pos.down() à y -1 mais alors je vois pas se que peut représenter pos.north() et pos.south(). Bref si tu as une idée donne la moi sinon je mettrais mon mod à jour. Et encore merci pour le code.

                                  BlockPos est une classe qui existait déjà avant la 1.8, il te suffit donc de faire BlockPos pos = new BlockPos(x,y,z); et le reste sera adapté, dont le pos.south() etc.

                                  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
                                  • 2
                                    20cents34 dernière édition par

                                    Euh non eclipse le trouve nul part et je suis en 1.7.10

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

                                      @‘20cents34’:

                                      J’ai une erreur sur le cast :  (EntityPlayer)player et onBlockDestroyed me demande un return non présent dans le code de robin4002.

                                      C’est de ma faute, j’ai édité mon message, maintenant ça devrait être bon.

                                      @‘SCAREX’:

                                      BlockPos est une classe qui existait déjà avant la 1.8, il te suffit donc de faire BlockPos pos = new BlockPos(x,y,z); et le reste sera adapté, dont le pos.south() etc.

                                      Non, elle n’existe pas en 1.7.10

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

                                        @‘robin4002’:

                                        @‘20cents34’:

                                        J’ai une erreur sur le cast :  (EntityPlayer)player et onBlockDestroyed me demande un return non présent dans le code de robin4002.

                                        C’est de ma faute, j’ai édité mon message, maintenant ça devrait être bon.

                                        @‘SCAREX’:

                                        BlockPos est une classe qui existait déjà avant la 1.8, il te suffit donc de faire BlockPos pos = new BlockPos(x,y,z); et le reste sera adapté, dont le pos.south() etc.

                                        Non, elle n’existe pas en 1.7.10

                                        Effectivement mais le principe est le même que ce que robin disait, tu fait x + 1 (east) puis x - 1 (west) puis z + 1 (south) puis z - 1 (north) puis y + 1 (up) (puis y - 1 (down) si tu veux aller vers le bas)

                                        Je peux vite fait adapter le code si tu veux pour la 1.7 ?

                                        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
                                        • 2
                                          20cents34 dernière édition par

                                          Merci a tous et surtout à robin4002 ça marche parfaitement maintenant  🙂

                                          Ça ira merci SCAREX j’utiliserai ton code quand je passerai en 1.8.

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

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB