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.
    • 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
                                          • BrokenSwingB Hors-ligne
                                            BrokenSwing Moddeurs confirmés Rédacteurs
                                            dernière édition par

                                            Effectivement, si tu casses un bloc du sol, ça va faire 3 de profondeur dans le sol, mais ça va aussi casser les bloc qui sont 2 couches au dessus du sol, donc 5x5x5

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB