MFF

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

    Pioche qui mine en 5x5

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    39 Messages 7 Publieurs 7.6k 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.
    • SpyManS Hors-ligne
      SpyMan
      dernière édition par

      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 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

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

        1 réponse Dernière réponse Répondre Citer 0
        • ? Hors-ligne
          Un Ancien Utilisateur
          dernière édition par

          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 réponse Dernière réponse Répondre Citer 0
          • ? Hors-ligne
            Un Ancien Utilisateur
            dernière édition par

            Up s’il vous plaît

            1 réponse Dernière réponse Répondre Citer 0
            • ? Hors-ligne
              Un Ancien Utilisateur
              dernière édition par

              Up please j’en est vraiment besoins

              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

                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 réponse Dernière réponse Répondre Citer 0
                • ? Hors-ligne
                  Un Ancien Utilisateur
                  dernière édition par

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

                  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

                    Sachant que c’est extends ItemPickaxe oui.

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

                      Ton code permet de détruire la bedrock non ?

                      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

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

                        1 réponse Dernière réponse Répondre Citer 0
                        • ? Hors-ligne
                          Un Ancien Utilisateur
                          dernière édition par

                          Tu peux le rajouter s’il te plait

                          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

                            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 réponse Dernière réponse Répondre Citer 0
                            • ? Hors-ligne
                              Un Ancien Utilisateur
                              dernière édition par

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

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

                                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 réponse Dernière réponse Répondre Citer 0
                                • ? Hors-ligne
                                  Un Ancien Utilisateur
                                  dernière édition par

                                  excuse moi 😕 en plus je l’avait fait

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • FolganskyF Hors-ligne
                                    Folgansky Correcteurs
                                    dernière édition par

                                    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 réponse Dernière réponse Répondre Citer 0
                                    • BrokenSwingB Hors-ligne
                                      BrokenSwing Moddeurs confirmés Rédacteurs
                                      dernière édition par

                                      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 réponse Dernière réponse Répondre Citer 0
                                      • ? Hors-ligne
                                        Un Ancien Utilisateur
                                        dernière édition par

                                        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 réponse Dernière réponse Répondre Citer 0
                                        • ? Hors-ligne
                                          Un Ancien Utilisateur
                                          dernière édition par

                                          Mais j’ai encore un probléme 😕 le code que tu ma fait robin casse en profondeur de 3 sa fait L 5 l 5 P 3 et du coups je peux faire comment car j’ai essayer de modiffier quelque truc et sa na pas donné grand chose

                                          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

                                            Tu es sûr ?
                                            Car le code fait bien un cube de 5x5 dont le bloc cassé est le centre.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB