Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Pioche qui mine en 5x5

    Sans suite
    1.7.10
    7
    39
    5545
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • vSKAH
      vSKAH last edited by

      Bonjjjjjour, je voudrait savoir comment faire un pioche(Sa je sait le faire -_-)mais qui mine en 5x5.
      Merci à toutes les personnes qui  vont m’aidez

      1 Reply Last reply Reply Quote 0
      • moscaphone421
        moscaphone421 last edited by

        Déja traité sur le forum cherche un peu (3x3) mais c’est le meme principe

        1 Reply Last reply Reply Quote 0
        • SpyMan
          SpyMan last edited by

          en gros tu utilise l’event BlockEvent.HarvestDropsEvent et la fonciton world.destroyBlock qui permet de les drops
          et avec des boucle for tu fais en sorte que les blocks dans un rayon de 2 autour de la pioche soit cassé avec la fonction world.destroyBlock()

          1 Reply Last reply Reply Quote 0
          • BrokenSwing
            BrokenSwing Moddeurs confirmés Rédacteurs last edited by

            Il n’y a pas besoin d’utiliser d’event …

            1 Reply Last reply Reply Quote 0
            • vSKAH
              vSKAH last edited by

              Bah j’ai bien fait ma pioche et tous mais sa ne fonctionne pas j’ai du oublier d’apeller un event ou autres  😑

              Voici les class qui on un rapport avec se que j’ai fait

              package com.adamitemod.mod.init;
              
              import net.minecraft.creativetab.CreativeTabs;
              import net.minecraft.item.Item;
              import net.minecraft.item.Item.ToolMaterial;
              import net.minecraft.item.ItemArmor.ArmorMaterial;
              import net.minecraftforge.common.util.EnumHelper;
              import com.adamitemod.mod.items.AxeMinotor;
              import com.adamitemod.mod.AdamiteMod;
              import com.adamitemod.mod.References;
              import com.adamitemod.mod.bushes.ItemExperienceBerry;
              import com.adamitemod.mod.bushes.ItemFissionBerry;
              import com.adamitemod.mod.items.ItemArmorMod;
              import com.adamitemod.mod.items.ItemAxeMod;
              import com.adamitemod.mod.items.ItemBackPack;
              import com.adamitemod.mod.items.ItemBowAdamite;
              import com.adamitemod.mod.items.ItemBowFisson;
              import com.adamitemod.mod.items.ItemBowRuby;
              import com.adamitemod.mod.items.ItemBowZectium;
              import com.adamitemod.mod.items.ItemDynamite;
              import com.adamitemod.mod.items.ItemFoodAple;
              import com.adamitemod.mod.items.ItemMod;
              import com.adamitemod.mod.items.ItemPickaxeMod;
              import com.adamitemod.mod.items.ItemSpadeMod;
              import com.adamitemod.mod.items.ItemSwordMod;
              
              import cpw.mods.fml.common.Mod.Instance;
              import cpw.mods.fml.common.registry.GameRegistry;
              
              public class ItemsMod
              {
                  public static ToolMaterial ADAMITE = EnumHelper.addToolMaterial("ADAMITE", 5, 3000, 20.0F, 7.0F, 10);
                  public static ToolMaterial Fission = EnumHelper.addToolMaterial("Fission", 7, 4000, 25.0F, 8.0F, 11);
                  public static ToolMaterial Minotor = EnumHelper.addToolMaterial("Minotor",(int) 7.5, 4000, 25.0F, 8.0F, 11);
                  public static ToolMaterial RUBY = EnumHelper.addToolMaterial("RUBY", 3, 1000, 7.0F, 3.0F, 10);
                  public static ToolMaterial ZECTIUM = EnumHelper.addToolMaterial("ZECTIUM", 4, 2000, 10.0F, 5.0F, 10);
                  public static ArmorMaterial ADAMITE_ARMOR = EnumHelper.addArmorMaterial("ADAMITE_ARMOR", 200, new int[]{4, 9, 7, 4}, 19);
                  public static ArmorMaterial ZECTIUM_ARMOR = EnumHelper.addArmorMaterial("ZECTIUM_ARMOR", 160, new int[]{3, 7, 6, 3}, 21);
                  public static ArmorMaterial Fission_ARMOR = EnumHelper.addArmorMaterial("Fission_ARMOR", 500, new int[]{4, 9, 7, 4}, 22);
              
                  public static Item CrystalHelmet;
                  public static Item RubyBow,ZectiumBow,AdamiteBow,FissonBow;
              
                  public static Item adamite, rubyIngot, zectiumIngot, FissionSword, FissionPickaxe, fissionpomme;
                  public static Item adamiteSword, rubySword, zectiumSword, FissionAxe;
                  public static Item adamitePickaxe, rubyPickaxe, zectiumPickaxe;
                  public static Item adamiteAxe, rubyAxe, zectiumAxe;
                  public static Item adamiteShovel, rubyShovel, zectiumShovel;
              
                  public static Item EnderStick, StickDeForce, SpeedStick, HealStick, Adasceptre, HealStone, EnderStone, StrengthStone, Speed;
              
                  public static Item adamiteHelmet, zectiumHelmet, FissionHelmet;
                  public static Item adamiteChestplate, zectiumChestplate, FissionChestplate;
                  public static Item adamiteLeggings, zectiumLeggings, FissionLeggings;
                  public static Item adamiteBoots, zectiumBoots, FissionBoots, adapo;
                  public static Item fission;
                  public static Item MarteauAda;
                  public static ItemExperienceBerry experienceBerry;
                  public static ItemFissionBerry fissionberry;
                  public static Item AxeMinotor;
              
                  public static Item rubyd, zectiumd, adamited, fissiond, ord, netherd, irond, diamantd, adamiteproxy;
              
                  public static void init()
                  {
                      adamite = new ItemMod().setUnlocalizedName("adamite").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamite");
                      HealStone = new ItemMod().setUnlocalizedName("HealStone").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":He");
                      StickDeForce = new com.adamitemod.mod.items.StickDeForce().setUnlocalizedName("StickDeForce").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":SW");
                      EnderStick = new com.adamitemod.mod.items.EnderStick().setUnlocalizedName("EnderStick").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":EnderStick");
                      SpeedStick = new com.adamitemod.mod.items.SpeedStick().setUnlocalizedName("SpeedStick").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":SpeedStick");
              
                      MarteauAda = new com.adamitemod.mod.smelterie.Item3X3(ADAMITE, 100.0F).setUnlocalizedName("Pickaxe3x3").setTextureName("AdamiteMod:Pickaxe3x3");
              
                      HealStick = new com.adamitemod.mod.items.HealStick().setUnlocalizedName("HealStick").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":HealStick");
                      Adasceptre = new com.adamitemod.mod.items.Adasceptre().setUnlocalizedName("Adasceptre").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":M");
                      EnderStone = new ItemMod().setUnlocalizedName("EnderStone").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":En");
                      StrengthStone = new ItemMod().setUnlocalizedName("StrengthStone").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":St");
                      Speed = new ItemMod().setUnlocalizedName("Speed").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":sp");
                      experienceBerry = new ItemExperienceBerry();
                      fissionberry = new ItemFissionBerry();
              
                      /*Minotor*/
                      AxeMinotor = new AxeMinotor(Minotor);
                      /*Bow*/
                      RubyBow = new ItemBowRuby().setUnlocalizedName("ruby_bow").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":ruby_bow");
              
                      ZectiumBow = new ItemBowZectium().setUnlocalizedName("zectium_bow").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectium_bow");
              
                      AdamiteBow = new ItemBowAdamite().setUnlocalizedName("adamite_bow").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamite_bow");
              
                      FissonBow = new ItemBowFisson().setUnlocalizedName("fission_bow").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fission_bow");
              
                      rubyIngot = new ItemMod().setUnlocalizedName("rubyIngot").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":rubyingot");
                      zectiumIngot = new ItemMod().setUnlocalizedName("zectiumIngot").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumIngot");
                      adamiteSword = new ItemSwordMod(ADAMITE).setUnlocalizedName("adamiteSword").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":Sword");
                      FissionSword = new ItemSwordMod(Fission).setUnlocalizedName("FissionSword").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissionsword");
                      rubySword = new ItemSwordMod(RUBY).setUnlocalizedName("rubySword").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":rubysword");
                      zectiumSword = new ItemSwordMod(ZECTIUM).setUnlocalizedName("zectiumSword").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumsword");
                      adamitePickaxe = new ItemPickaxeMod(ADAMITE).setUnlocalizedName("adamitePickaxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamitepickaxe");
                      rubyPickaxe = new ItemPickaxeMod(RUBY).setUnlocalizedName("rubyPickaxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":rubypickaxe");
                      FissionPickaxe = new ItemPickaxeMod(Fission).setUnlocalizedName("FissionPickaxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":FissionPickaxe");
                      zectiumPickaxe = new ItemPickaxeMod(ZECTIUM).setUnlocalizedName("zectiumPickaxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumpickaxe");
                      FissionAxe = new ItemAxeMod(Fission).setUnlocalizedName("FissionAxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":Fissionaxe");
                      adamiteAxe = new ItemAxeMod(ADAMITE).setUnlocalizedName("adamiteAxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamiteaxe");
                      rubyAxe = new ItemAxeMod(RUBY).setUnlocalizedName("rubyAxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":rubyaxe");
                      zectiumAxe = new ItemAxeMod(ZECTIUM).setUnlocalizedName("zectiumAxe").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumaxe");
                      adamiteShovel = new ItemSpadeMod(ADAMITE).setUnlocalizedName("adamiteSpade").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamiteshovel");
                      rubyShovel = new ItemSpadeMod(RUBY).setUnlocalizedName("rubySpade").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":rubyshovel");
                      zectiumShovel = new ItemSpadeMod(ZECTIUM).setUnlocalizedName("zectiumSpade").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumshovel");       
              
                      //armures fission
                      FissionHelmet = new com.adamitemod.mod.items.ArmureFission(Fission_ARMOR, 0).setUnlocalizedName("FissionHelmet").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissionhelmet");
                      FissionBoots = new com.adamitemod.mod.items.ArmureFission(Fission_ARMOR, 3).setUnlocalizedName("FissionBoots").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissionboots");
                      FissionLeggings = new com.adamitemod.mod.items.ArmureFission(Fission_ARMOR, 2).setUnlocalizedName("FissionLeggings").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissionleggings");
                      FissionChestplate = new com.adamitemod.mod.items.ArmureFission(Fission_ARMOR, 1).setUnlocalizedName("FissionChestplate").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissionchestplate");
              
                      adamiteHelmet = new com.adamitemod.mod.items.ArmureAdamite(ADAMITE_ARMOR, 0).setUnlocalizedName("adamiteHelmet").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamitehelmet");
                      zectiumHelmet = new ItemArmorMod(ZECTIUM_ARMOR, 0).setUnlocalizedName("zectiumHelmet").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumhelmet");
                      adamiteChestplate = new com.adamitemod.mod.items.ArmureAdamite(ADAMITE_ARMOR, 1).setUnlocalizedName("adamiteChestplate").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamitechestplate");
                      zectiumChestplate = new ItemArmorMod(ZECTIUM_ARMOR, 1).setUnlocalizedName("zectiumChestplate").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumchestplate");
                      adamiteLeggings = new com.adamitemod.mod.items.ArmureAdamite(ADAMITE_ARMOR, 2).setUnlocalizedName("adamiteLeggings").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamiteleggings");
                      zectiumLeggings = new ItemArmorMod(ZECTIUM_ARMOR, 2).setUnlocalizedName("zectiumLeggings").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumleggings");
                      adamiteBoots = new com.adamitemod.mod.items.ArmureAdamite(ADAMITE_ARMOR, 3).setUnlocalizedName("adamiteBoots").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamiteboots");
                      zectiumBoots = new ItemArmorMod(ZECTIUM_ARMOR, 3).setUnlocalizedName("zectiumBoots").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumboots");
                      fission = new Item().setUnlocalizedName("fission").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fission");
                      fissionpomme = new ItemFoodAple(10, 10F, true).setAlwaysEdible().setUnlocalizedName("fissionpomme").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissionpomme");
                      adapo = new com.adamitemod.mod.items.adapo(10, 10F, true).setAlwaysEdible().setUnlocalizedName("adapo").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adapo");
                      rubyd = new ItemMod().setUnlocalizedName("rubyd").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":rubyd");
                      zectiumd = new ItemMod().setUnlocalizedName("zectiumd").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":zectiumd");
                      adamited = new ItemMod().setUnlocalizedName("adamited").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamited");
                      fissiond = new ItemMod().setUnlocalizedName("fissiond").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":fissiond");
                      ord = new ItemMod().setUnlocalizedName("ord").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":ord");
                      netherd = new ItemMod().setUnlocalizedName("netherd").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":netherd");
                      irond = new ItemMod().setUnlocalizedName("irond").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":irond");
                      diamantd = new ItemMod().setUnlocalizedName("diamantd").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":diamantd");
                      adamiteproxy = new ItemMod().setUnlocalizedName("adamiteproxy").setCreativeTab(AdamiteMod.Ada).setTextureName(References.MOD_ID + ":adamiteproxy");
                  }
              
                  public static void register()
                  {
              
                      GameRegistry.registerItem(adamite, "adamite");
                      GameRegistry.registerItem(rubyd, "rubyd");
                      GameRegistry.registerItem(zectiumd, "zectiumd");
                      GameRegistry.registerItem(adamited, "adamited");
                      GameRegistry.registerItem(fissiond, "fissiond");
                      GameRegistry.registerItem(ord, "ord");
                      GameRegistry.registerItem(netherd, "netherd");
                      GameRegistry.registerItem(irond, "irond");
                      GameRegistry.registerItem(AxeMinotor, "AxeMinotor");
                      GameRegistry.registerItem(diamantd, "diamantd");
                      GameRegistry.registerItem(adamiteproxy, "adamiteproxy");
                      GameRegistry.registerItem(FissionHelmet, "CasqueFission");
                      GameRegistry.registerItem(FissionChestplate, "PlastronFission");
                      GameRegistry.registerItem(FissionLeggings, "PantalonsFission");
                      GameRegistry.registerItem(experienceBerry, "experienceBerry");
              
                      GameRegistry.registerItem(fissionberry, "fissionberry");
              
                      GameRegistry.registerItem(RubyBow, "RubyBow");
                      GameRegistry.registerItem(ZectiumBow, "ZectiumBow");
                      GameRegistry.registerItem(AdamiteBow, "AdamiteBow");
                      GameRegistry.registerItem(FissonBow, "FissonBow");
                      GameRegistry.registerItem(FissionBoots, "BottesFission");        
                      GameRegistry.registerItem(rubyIngot, "rubyIngot");
                      GameRegistry.registerItem(zectiumIngot, "zectiumIngot");
                      GameRegistry.registerItem(adamiteSword, "adamiteSword");
                      GameRegistry.registerItem(rubySword, "rubySword");
                      GameRegistry.registerItem(FissionSword, "FissionSword");
                      GameRegistry.registerItem(zectiumSword, "zectiumSword");
                      GameRegistry.registerItem(adamitePickaxe, "adamitePickaxe");
                      GameRegistry.registerItem(rubyPickaxe, "rubyPickaxe");
                      GameRegistry.registerItem(zectiumPickaxe, "zectiumPickaxe");
                      GameRegistry.registerItem(adamiteAxe, "adamiteAxe");
                      GameRegistry.registerItem(rubyAxe, "rubyAxe");
                      GameRegistry.registerItem(adamiteShovel, "adamiteShovel");
                      GameRegistry.registerItem(rubyShovel, "rubyShovel");
                      GameRegistry.registerItem(zectiumAxe, "zectiumAxe");
                      GameRegistry.registerItem(zectiumShovel, "zectiumShovel");       
                      GameRegistry.registerItem(adamiteHelmet, "adamiteHelmet");
                      GameRegistry.registerItem(zectiumHelmet, "zectiumHelmet");
              
                      GameRegistry.registerItem(adamiteChestplate, "adamiteChestplate");
                      GameRegistry.registerItem(FissionPickaxe, "FissionPickaxe");
                      GameRegistry.registerItem(zectiumChestplate, "zectiumChestplate");
                      GameRegistry.registerItem(adamiteLeggings, "adamiteLeggings");
                      GameRegistry.registerItem(zectiumLeggings, "zectiumLeggings");
                      GameRegistry.registerItem(adamiteBoots, "adamiteBoots");
                      GameRegistry.registerItem(zectiumBoots, "zectiumBoots");
                      GameRegistry.registerItem(fission, "fission");
                      GameRegistry.registerItem(FissionAxe, "FissionAxe");
                      GameRegistry.registerItem(fissionpomme, "fissionpomme");
                      GameRegistry.registerItem(adapo, "adapo");
                      GameRegistry.registerItem(StickDeForce, "StickDeForce");
                      GameRegistry.registerItem(EnderStick, "EnderStick");
                      GameRegistry.registerItem(HealStick, "HealStick");
                      GameRegistry.registerItem(SpeedStick, "SpeedStick");  
                      GameRegistry.registerItem(Adasceptre, "Adasceptre");
                      GameRegistry.registerItem(HealStone, "HealStone");
                      GameRegistry.registerItem(MarteauAda, "Pickaxe3x3");
                      GameRegistry.registerItem(EnderStone, "EnderStone");
                      GameRegistry.registerItem(StrengthStone, "StrengthStone");
                      GameRegistry.registerItem(Speed, "Speed");
              
                  }
              }
              
              package com.adamitemod.mod.smelterie;
              
              import net.minecraft.block.material.Material;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.item.Item;
              import net.minecraft.item.ItemStack;
              import net.minecraft.util.MovingObjectPosition;
              import net.minecraft.world.World;
              import net.minecraftforge.common.util.ForgeDirection;
              
              public class ExtendsItem3x3 extends ToolPickaxe
              {
                  protected static final Material[] MATERIALS = {Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.snow, Material.craftedSnow, Material.clay};
              
                  public ExtendsItem3x3(Item.ToolMaterial material)
                  {
                      super(material);
                  }
              
                  public boolean onBlockStartBreak(ItemStack stack, int x, int y, int z, EntityPlayer player)
                  {
                      MovingObjectPosition raycast = HadlerTool.raytraceFromEntity(player.worldObj, player, true, 10.0D);
                      if(raycast != null)
                      {
                          breakOtherBlock(player, stack, x, y, z, x, y, z, raycast.sideHit);
                          stack.damageItem(1, player);
                      }
                      return false;
                  }
              
                  public int getItemEnchantability()
                  {
                      return 0;
                  }
              
                  public boolean isBookEnchantable(ItemStack stack, ItemStack book)
                  {
                      return true;
                  }
              
                  public float getDigSpeed(ItemStack stack, net.minecraft.block.Block block, int meta)
                  {
                      return super.getDigSpeed(stack, block, meta) / 9.0F;
                  }
              
                  public void breakOtherBlock(EntityPlayer player, ItemStack stack, int x, int y, int z, int originX, int originY, int originZ, int side)
                  {
                      World world = player.worldObj;
                      Material mat = world.getBlock(x, y, z).getMaterial();
                      if(world.isAirBlock(x, y, z))
                      {
                          return;
                      }
                      ForgeDirection direction = ForgeDirection.getOrientation(side);
              
                      int range = Math.max(0, 1);
                      int rangeY = Math.max(1, range);
              
                      boolean doX = direction.offsetX == 0;
                      boolean doY = direction.offsetY == 0;
                      boolean doZ = direction.offsetZ == 0;
              
                      HadlerTool.removeBlocksInIteration(player, stack, world, x, y, z, doX ? -range : 0, doY ? -1 : 0, doZ ? -range : 0, doX ? range + 1 : 1, doY ? rangeY * 2 : 1, doZ ? range + 1 : 1, null, MATERIALS, false, 0, true);
                  }
              
              }
              
              package com.adamitemod.mod.smelterie;
              
              import java.util.Arrays;
              
              import com.adamitemod.mod.init.BlocksMod;
              
              import net.minecraft.block.Block;
              import net.minecraft.block.material.Material;
              import net.minecraft.entity.Entity;
              import net.minecraft.entity.item.EntityXPOrb;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.init.Blocks;
              import net.minecraft.item.ItemStack;
              import net.minecraft.item.crafting.FurnaceRecipes;
              import net.minecraft.util.MathHelper;
              import net.minecraft.util.MovingObjectPosition;
              import net.minecraft.util.Vec3;
              import net.minecraft.world.World;
              
              public class HadlerTool
              {
                  public static Block[] minerals = {Blocks.stone, BlocksMod.adamiteOre, Blocks.coal_ore, Blocks.redstone_ore, Blocks.diamond_ore, Blocks.emerald_ore, Blocks.quartz_ore, Blocks.iron_ore, Blocks.lapis_ore, BlocksMod.rubyOre, BlocksMod.zectiumOre, BlocksMod.FissionOre, Blocks.gold_ore, Blocks.lit_redstone_ore, Blocks.obsidian};
                  private static HadlerTool handler;
              
                  public static void removeBlocksInIteration(EntityPlayer player, ItemStack stack, World world, int x, int y, int z, int xs, int ys, int zs, int xe, int ye, int ze, Block block, Material[] materialsListing, boolean smelt, int fortune, boolean dispose)
                  {
                      float blockHardness = block == null ? 1.0F : block.getBlockHardness(world, x, y, z);
                      for(int x1 = xs; x1 < xe; x1++)
                      {
                          for(int y1 = ys; y1 < ye; y1++)
                          {
                              for(int z1 = zs; z1 < ze; z1++)
                              {
                                  removeBlockWithDrops(player, stack, world, x1 + x, y1 + y, z1 + z, x, y, z, block, materialsListing, smelt, fortune, blockHardness, dispose);
                              }
                          }
                      }
                  }
              
                  public static void spawnItemAtPlayer(EntityPlayer player, ItemStack result)
                  {
              
                  }
              
                  public static void removeBlockWithDrops(EntityPlayer player, ItemStack stack, World world, int x, int y, int z, int bx, int by, int bz, Block block, Material[] materialsListing, boolean smelt, int fortune, float blockHardness, boolean dispose)
                  {
                      removeBlockWithDrops(player, stack, world, x, y, z, bx, by, bz, block, materialsListing, smelt, fortune, blockHardness, dispose, true);
                  }
              
                  public static void removeBlockWithDrops(EntityPlayer player, ItemStack stack, World world, int x, int y, int z, int bx, int by, int bz, Block block, Material[] materialsListing, boolean smelt, int fortune, float blockHardness, boolean dispose, boolean particles)
                  {
                      if(!world.blockExists(x, y, z))
                      {
                          return;
                      }
                      Block blk = world.getBlock(x, y, z);
                      int meta = world.getBlockMetadata(x, y, z);
                      if((block != null) && (blk != block))
                      {
                          return;
                      }
                      Material mat = world.getBlock(x, y, z).getMaterial();
                      boolean flag = false;
                      if((!world.isRemote) && (blk != null) && (!blk.isAir(world, x, y, z)) && (blk.getPlayerRelativeBlockHardness(player, world, x, y, z) > 0.0F))
                      {
                          if((!blk.canHarvestBlock(player, meta)) || (!isRightMaterial(blk, materialsListing)) || (blk == Blocks.obsidian))
                          {
                              return;
                          }
                          if(!player.capabilities.isCreativeMode)
                          {
                              int localMeta = world.getBlockMetadata(x, y, z);
                              blk.onBlockHarvested(world, x, y, z, localMeta, player);
                              if(blk.removedByPlayer(world, player, x, y, z, true))
                              {
                                  blk.onBlockDestroyedByPlayer(world, x, y, z, localMeta);
                              }
                              if(smelt)
                              {
                                  float count = 1.0F;
                                  if(Arrays.asList(minerals).contains(blk))
                                  {
                                      count = (float)(count + (fortune * 0.7D - world.rand.nextInt(fortune)));
                                  }
                                  if(count <= 0.0F)
                                  {
                                      count = 1.0F;
                                  }
                                  ItemStack result = FurnaceRecipes.smelting().getSmeltingResult((ItemStack)blk.getDrops(world, x, y, z, blk.getDamageValue(world, x, y, z), fortune).get(0));
                                  if(result != null)
                                  {
                                      if(result.stackSize < 1)
                                      {
                                          result.stackSize = ((int)count);
                                      }
                                      handler.spawnItemAtPlayer(player, result);
                                      flag = true;
                                  }
                                  else
                                  {
                                      blk.dropBlockAsItem(world, x, y, z, localMeta, fortune);
                                  }
                              }
                              else
                              {
                                  blk.dropBlockAsItem(world, x, y, z, localMeta, fortune);
                              }
                              int xpDrop = blk.getExpDrop(world, blk.getDamageValue(world, x, y, z), fortune);
                              EntityXPOrb xp = new EntityXPOrb(world, x, y, z, xpDrop);
                              if(xpDrop > 0)
                              {
                                  world.spawnEntityInWorld(xp);
                              }
                          }
                          else
                          {
                              world.setBlockToAir(x, y, z);
                          }
                          world.playAuxSFX(2001, x, y, z, Block.getIdFromBlock(blk) + (meta << 12));
                      }
                      if(flag)
                      {
                          world.spawnParticle("flame", x + 0.5D + 0.5D * world.rand.nextDouble(), y - 0.1D, z + 0.5D * world.rand.nextDouble(), 0.0D, 0.0D, 0.0D);
                          world.spawnParticle("flame", x + 0.5D + 0.5D * world.rand.nextDouble(), y - 0.1D, z + 0.5D * world.rand.nextDouble(), 0.0D, 0.0D, 0.0D);
                          world.spawnParticle("smoke", x + 0.5D + 0.5D * world.rand.nextDouble(), y - 0.1D, z + 0.5D * world.rand.nextDouble(), 0.0D, 0.0D, 0.0D);
                      }
                  }
              
                  public static boolean isRightMaterial(Block block, Material[] materialsListing)
                  {
                      Material material = block.getMaterial();
                      for(Material mat : materialsListing)
                      {
                          if(material == mat)
                          {
                              return true;
                          }
                      }
                      return false;
                  }
              
                  public static boolean isRightBlock(Block block, Block[] list)
                  {
                      for(Block blk : list)
                      {
                          if(block == blk)
                          {
                              return false;
                          }
                      }
                      return true;
                  }
              
                  public static MovingObjectPosition raytraceFromEntity(World world, Entity player, boolean par3, double range)
                  {
                      float f = 1.0F;
                      float f1 = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * f;
                      float f2 = player.prevRotationYaw + (player.rotationYaw - player.prevRotationYaw) * f;
                      double d0 = player.prevPosX + (player.posX - player.prevPosX) * f;
                      double d1 = player.prevPosY + (player.posY - player.prevPosY) * f;
                      if((!world.isRemote) && ((player instanceof EntityPlayer)))
                      {
                          d1 += ((EntityPlayer)player).eyeHeight;
                      }
                      double d2 = player.prevPosZ + (player.posZ - player.prevPosZ) * f;
                      Vec3 vec3 = Vec3.createVectorHelper(d0, d1, d2);
                      float f3 = MathHelper.cos(-f2 * 0.017453292F - 3.1415927F);
                      float f4 = MathHelper.sin(-f2 * 0.017453292F - 3.1415927F);
                      float f5 = -MathHelper.cos(-f1 * 0.017453292F);
                      float f6 = MathHelper.sin(-f1 * 0.017453292F);
                      float f7 = f4 * f5;
                      float f8 = f3 * f5;
                      double d3 = range;
                      Vec3 vec31 = vec3.addVector(f7 * d3, f6 * d3, f8 * d3);
                      return world.rayTraceBlocks(vec3, vec31, par3);
                  }
              
              }
              
              package com.adamitemod.mod.smelterie;
              
              import net.minecraft.block.material.Material;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.item.Item.ToolMaterial;
              import net.minecraft.item.ItemStack;
              import net.minecraft.world.World;
              import net.minecraftforge.common.util.ForgeDirection;
              
              public class Item3X3 extends ToolPickaxe
              {
                  private boolean smelt;
                  private int fortune;
              
                  public Item3X3(ToolMaterial toolMaterial, float nombre)
                  {
                      super(toolMaterial);
              
                  }
              
                  public void breakOtherBlock(EntityPlayer player, ItemStack stack, int x, int y, int z, int originX, int originY, int originZ, int side)
                  {
                      World world = player.worldObj;
                      Material mat = world.getBlock(x, y, z).getMaterial();
                      if(world.isAirBlock(x, y, z))
                      {
                          return;
                      }
                      ForgeDirection direction = ForgeDirection.getOrientation(side);
              
                      int range = Math.max(0, 1);
                      int rangeY = Math.max(1, range);
              
                      boolean doX = direction.offsetX == 0;
                      boolean doY = direction.offsetY == 0;
                      boolean doZ = direction.offsetZ == 0;
              
                      HadlerTool.removeBlocksInIteration(player, stack, world, x, y, z, doX ? -range : 0, doY ? -1 : 0, doZ ? -range : 0, doX ? range + 1 : 1, doY ? rangeY * 2 : 1, doZ ? range + 1 : 1, null, ExtendsItem3x3.MATERIALS, smelt, fortune, true);
                  }
              
              }
              
              package com.adamitemod.mod.smelterie;
              
              import com.adamitemod.mod.blocks.BlockMod;
              import com.adamitemod.mod.init.ItemsMod;
              
              import net.minecraft.item.ItemPickaxe;
              import net.minecraft.item.ItemStack;
              
              public class ToolPickaxe extends ItemPickaxe
              {
              
                  public ToolPickaxe(ToolMaterial material)
                  {
                      super(material);
                  }
              
                  public boolean getIsRepairable(ItemStack input, ItemStack repair)
                  {
                      if(input.getItem() == this && repair.getItem() == ItemsMod.adamite)
                      {
                          return true;
                      }
                      return false;
                  }
              
                  public boolean hasEffect(ItemStack stack, int pass)
                  {
                      return false;
                  }
              
              }
              
              1 Reply Last reply Reply Quote 0
              • vSKAH
                vSKAH last edited by

                Up s’il vous plaît

                1 Reply Last reply Reply Quote 0
                • vSKAH
                  vSKAH last edited by

                  Up please j’en est vraiment besoins

                  1 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                    public class ItemPickaxeCustom extends ItemPickaxe
                    {
                       protected ItemPickaxeCustom(ToolMaterial tool)
                       {
                           super(tool);
                       }
                    
                       public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living)
                       {
                           if(living instanceof EntityPlayer)
                           {
                               for(int x1 = -2; x1 < 3; x1++)
                               {
                                   for(int y1 = -2; y1 < 3; y1++)
                                   {
                                       for(int z1 = -2; z1 < 3; z1++)
                                       {
                                           world.getBlock(x + x1, y + y1, z + z1).harvestBlock(world, (EntityPlayer)living, x + x1, y + y1, z + z1, world.getBlockMetadata(x + x1, y + y1, z + z1));
                                           world.setBlockToAir(x + x1, y + y1, z + z1);
                                       }
                                   }
                               }
                           }
                           return super.onBlockDestroyed(stack, world, block, x, y, z, living);
                       }
                    }
                    

                    3 boucles, une fonction pour drop et une fonction pour retirer le bloc et voila.

                    1 Reply Last reply Reply Quote 0
                    • vSKAH
                      vSKAH last edited by

                      sa c’est la class de l’item ou pas ?

                      1 Reply Last reply Reply Quote 0
                      • robin4002
                        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                        Sachant que c’est extends ItemPickaxe oui.

                        1 Reply Last reply Reply Quote 0
                        • BrokenSwing
                          BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                          Ton code permet de détruire la bedrock non ?

                          1 Reply Last reply Reply Quote 0
                          • robin4002
                            robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                            Ah oui j’ai oublié de vérifier que la résistance est supérieur ou égal à 0.

                            1 Reply Last reply Reply Quote 0
                            • vSKAH
                              vSKAH last edited by

                              Tu peux le rajouter s’il te plait

                              1 Reply Last reply Reply Quote 0
                              • robin4002
                                robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                                il faut juste ajouter if(world.getBlock(x + x1, y + y1, z + z1).getHardness() >= 0.0F) avant world.getBlock(x + x1, y + y1, z + z1).harvestBlock(world, (EntityPlayer)living, x + x1, y + y1, z + z1, world.getBlockMetadata(x + x1, y + y1, z + z1)); et world.setBlockToAir(x + x1, y + y1, z + z1);

                                1 Reply Last reply Reply Quote 0
                                • vSKAH
                                  vSKAH last edited by

                                  Fonctionne pas erreur su getHardness il me dit The method getHardness() is undefined for the type Block

                                  1 Reply Last reply Reply Quote 0
                                  • BrokenSwing
                                    BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                                    Dis-moi que t’as cherché un peu et que je ne vais pas aller voir pour rien

                                    EDIT :
                                    Ah bah si, tu n’as pas cherché :
                                    Block.java

                                    
                                    public float getBlockHardness(World world, int x, int y, int z)
                                    {
                                    return this.blockHardness;
                                    }
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • vSKAH
                                      vSKAH last edited by

                                      excuse moi 😕 en plus je l’avait fait

                                      1 Reply Last reply Reply Quote 0
                                      • Folgansky
                                        Folgansky Correcteurs last edited by

                                        Il vient de te donner la solution, tu utilisais une mauvaise fonction (car robin n’a pas tout en tête).
                                        Tu dois donc utiliser getBlockHardness() au lieu de getHardness()

                                        (Tu devrais te montrer plus reconnaissant, les gens ici ne te doivent rien et prennent sur leur temps pour t’aider. Si tu n’es pas satisfait -te montre ingrat - tu pourrais très bien ne plus recevoir d’aide)

                                        1 Reply Last reply Reply Quote 0
                                        • BrokenSwing
                                          BrokenSwing Moddeurs confirmés Rédacteurs last edited by

                                          Je t’ai donné la fonction qu’il fallait utiliser, avec les arguments, tu veux quoi de plus ? Ça ?

                                          
                                          public class ItemPickaxeCustom extends ItemPickaxe
                                          {
                                          protected ItemPickaxeCustom(ToolMaterial tool)
                                          {
                                          super(tool);
                                          }
                                          
                                          public boolean onBlockDestroyed(ItemStack stack, World world, Block block, int x, int y, int z, EntityLivingBase living)
                                          {
                                          if(living instanceof EntityPlayer)
                                          {
                                          for(int x1 = -2; x1 < 3; x1++)
                                          {
                                          for(int y1 = -2; y1 < 3; y1++)
                                          {
                                          for(int z1 = -2; z1 < 3; z1++)
                                          {
                                          if(world.getBlock(x + x1, y + y1, z + z1).getBlockHardness(world, x + x1, y + y1, z + z1) >= 0) {
                                          world.getBlock(x + x1, y + y1, z + z1).harvestBlock(world, (EntityPlayer)living, x + x1, y + y1, z + z1, world.getBlockMetadata(x + x1, y + y1, z + z1));
                                          world.setBlockToAir(x + x1, y + y1, z + z1);
                                          }
                                          }
                                          }
                                          }
                                          }
                                          return super.onBlockDestroyed(stack, world, block, x, y, z, living);
                                          }
                                          }
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • vSKAH
                                            vSKAH last edited by

                                            Non c’est bon excuse moi c’est juste que j’etais fatiguer et que je ne trouvais pas mais j’avais trouvé et je m’excuse vraiment car je sait que si tu voulais tu ne m’aurais pas aidez et quand je relie ma phrase j’ai étais asser méchant au lieu de demander gentiment

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Design by Woryk
                                            Contact / Mentions Légales / Faire un don

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB