MFF

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

    Hammer 3x3 HELP

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    15 Messages 9 Publieurs 4.0k 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.
    • SCAREXS Hors-ligne
      SCAREX
      dernière édition par

      Pourquoi pas ?

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

        Faudrait vraiment un tutoriel la dessus xD C’est de plus en plus demander

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

          @‘moscaphone421’:

          Faudrait vraiment un tutoriel la dessus xD C’est de plus en plus demander

          Comment je fais pour creuser que de 1 de profondeur car la sa mine de 2 de profondeur ?

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

            @‘robin4002’:

            Salut,
            Il suffit de remplacer les -2 en -1 et les 3 en 2 dans les trois boucle for.

            Comment je fais pour creuser que de 1 de profondeur car la sa mine de 2 de profondeur ?

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

              Tu veux du 3x3x3 ou du 3x3x1 ?
              Car si c’est du 3x3x1, il faut adapter en fonction du côté que le joueur touche.

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

                @‘robin4002’:

                Tu veux du 3x3x3 ou du 3x3x1 ?
                Car si c’est du 3x3x1, il faut adapter en fonction du côté que le joueur touche.

                J’aimerai du 3x3x1

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

                  package fr.minecraftforgefrance.test;
                  
                  import net.minecraft.block.Block;
                  import net.minecraft.entity.EntityLivingBase;
                  import net.minecraft.entity.player.EntityPlayer;
                  import net.minecraft.item.ItemPickaxe;
                  import net.minecraft.item.ItemStack;
                  import net.minecraft.util.MathHelper;
                  import net.minecraft.world.World;
                  
                  public class ItemTestPickaxe extends ItemPickaxe
                  {
                  protected ItemTestPickaxe(ToolMaterial material)
                  {
                  super(material);
                  }
                  
                  public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living)
                  {
                  if(living instanceof EntityPlayer && !world.isRemote)
                  {
                  switch(determineOrientation(world, x, y, z, living))
                  {
                  case 0:
                  for(int x1 = -1; x1 < 2; x1++)
                  {
                  for(int z1 = -1; z1 < 2; z1++)
                  {
                  if(world.getBlock(x + x1, y, z + z1).getBlockHardness(world, x1, y, z1) >= 0.0F)
                  {
                  world.getBlock(x + x1, y, z + z1).harvestBlock(world, (EntityPlayer)living, x + x1, y, z + z1, world.getBlockMetadata(x + x1, y, z + z1));
                  world.setBlockToAir(x + x1, y, z + z1);
                  }
                  }
                  }
                  break;
                  case 1:
                  for(int y1 = -1; y1 < 2; y1++)
                  {
                  for(int z1 = -1; z1 < 2; z1++)
                  {
                  if(world.getBlock(x, y + y1, z + z1).getBlockHardness(world, x, y1, z1) >= 0.0F)
                  {
                  world.getBlock(x, y + y1, z + z1).harvestBlock(world, (EntityPlayer)living, x, y + y1, z + z1, world.getBlockMetadata(x, y + y1, z + z1));
                  world.setBlockToAir(x, y + y1, z + z1);
                  }
                  }
                  }
                  break;
                  case 2:
                  for(int x1 = -1; x1 < 2; x1++)
                  {
                  for(int y1 = -1; y1 < 2; y1++)
                  {
                  if(world.getBlock(x + x1, y + y1, z).getBlockHardness(world, x1, y1, z) >= 0.0F)
                  {
                  world.getBlock(x + x1, y + y1, z).harvestBlock(world, (EntityPlayer)living, x + x1, y + y1, z, world.getBlockMetadata(x + x1, y + y1, z));
                  world.setBlockToAir(x + x1, y + y1, z);
                  }
                  }
                  }
                  break;
                  }
                  }
                  return super.onBlockDestroyed(stack, world, block, x, y, z, living);
                  }
                  
                  public int determineOrientation(World world, int x, int y, int z, EntityLivingBase living)
                  {
                  if(MathHelper.abs((float)living.posX - x) < 2.0F && MathHelper.abs((float)living.posZ - z) < 2.0F)
                  {
                  double d0 = living.posY + 1.82D - (double)living.yOffset;
                  
                  if(d0 - y > 2.0D || y - d0 > 0.0D)
                  {
                  return 0;
                  }
                  }
                  float rotation = MathHelper.abs(living.rotationYaw);
                  return (rotation > 45F && rotation < 135F) || (rotation > 225F && rotation < 315F) ? 1 : 2;
                  }
                  }
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • ? Hors-ligne
                    Un Ancien Utilisateur
                    dernière édition par

                    J’ai une question car moi j’avais créer un topic qui résumer tous sa mais(Surtout pas envie de detterer) en compliqué mais je pense qu’il va être suprit car avec ce code on peux miner dans les claims faction

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

                      Avec un truc de ce type il ne devrait pas pouvoir miner dans les claims :

                      
                      public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase entity) {
                      if(entity instanceof EntityPlayer) {
                      
                      EntityPlayer player = (EntityPlayer)entity;
                      
                      Vec3 lookVec = player.getLookVec();
                      double xLook = Math.abs(lookVec.xCoord);
                      double yLook = Math.abs(lookVec.yCoord);
                      double zLook = Math.abs(lookVec.zCoord);
                      
                      //Ici accorder un peu moins d'importance à yLook peut-être, à voir …
                      //L'idéal serait de savoir sur quelle face le joueur casse le bloc
                      double max = Math.max(xLook, Math.max(yLook, zLook));
                      
                      //Ici si vous avez une meilleur façon de ne faire tourner que sur deux boucle
                      //en fonction de la direction, je suis preneur
                      
                      int addX = 1;
                      int addY = 1;
                      int addZ = 1;
                      
                      if(max == xLook) {
                      y -= 2;
                      z -= 2;
                      addX = 5;
                      } else if(max == yLook) {
                      x -= 2;
                      z -= 2;
                      addY = 5;
                      } else if(max == zLook) {
                      x -= 2;
                      y -= 2;
                      addZ = 5;
                      }
                      
                      for(int xOffset = 0; xOffset < 5; xOffset += addX) {
                      for(int yOffset = 0; yOffset < 5; yOffset += addY) {
                      for(int zOffset = 0; zOffset < 5; zOffset += addZ) {
                      
                      Block currentBlock = world.getBlock(x + xOffset, y + yOffset, z + zOffset);
                      int blockMetadata = world.getBlockMetadata(x + xOffset, y + yOffset, z + zOffset);
                      
                      BreakEvent event = new BreakEvent(x + xOffset, y + yOffset, x + zOffset, world, currentBlock, blockMetadata, (EntityPlayer)player);
                      event.setCanceled(!player.capabilities.isCreativeMode);
                      
                      if(currentBlock.getBlockHardness(world, x + xOffset, y + yOffset, z + zOffset) >= 0) {
                      event.setCanceled(false);
                      }
                      
                      MinecraftForge.EVENT_BUS.post(event);
                      
                      if(!event.isCanceled()) {
                      currentBlock.harvestBlock(world, (EntityPlayer)player, x + xOffset, y + yOffset, z + zOffset, blockMetadata);
                      world.setBlockToAir(x + xOffset, y + yOffset, z + zOffset);
                      
                      boolean hasSilk = EnchantmentHelper.getSilkTouchModifier(player);
                      boolean canSilk = currentBlock.canSilkHarvest(world, (EntityPlayer)player, x + xOffset, y + yOffset, z + zOffset, blockMetadata);
                      if(ForgeHooks.canHarvestBlock(currentBlock, (EntityPlayer)player, blockMetadata) && (!hasSilk || hasSilk && !canSilk)) {
                      
                      //Ici on spawn de l'exp à chaque bloc, peut-être faire un total de l'expérience
                      //et n'en faire spawn qu'un à la fin ?
                      int exp = currentBlock.getExpDrop(world, blockMetadata, EnchantmentHelper.getFortuneModifier(player));
                      currentBlock.dropXpOnBlockBreak(world, x + xOffset, y + yOffset, z + zOffset, exp);
                      }
                      }
                      }
                      }
                      }
                      return true;
                      }
                      return false;
                      }
                      
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • TituyaT Hors-ligne
                        Tituya
                        dernière édition par

                        Fait un peu attention au déterrage de sujet, le dernier message vien de 7 mois !

                        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

                          Non desoler 😄 ce n’est pas grave mais fait attention, parfois c’est sanctionné, je dit ca pour toi

                          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

                            Eh bien tu modifies les boucles, jusqu’où elles vont. Là il s’agit de pures connaissances en Java, et d’un peu de logique 😃

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB