MFF

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

    Une armure

    Planifier Épinglé Verrouillé Déplacé Les items
    1.6.x
    78 Messages 18 Publieurs 32.5k 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.
    • 4 Hors-ligne
      42.
      dernière édition par

      classe principale : désolé c’est un peu lourd. Je te mets que ce qui concerne l’armure ?

      
      package tutoriel.common;
      
      import net.minecraft.block.BlockStoneBrick;
      import net.minecraft.block.BlockTorch;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.item.EnumArmorMaterial;
      import net.minecraft.item.EnumToolMaterial;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemBow;
      import net.minecraft.item.ItemStack;
      import net.minecraft.tileentity.TileEntity;
      import net.minecraft.tileentity.TileEntityDaylightDetector;
      import net.minecraft.util.DamageSource;
      import net.minecraftforge.common.EnumHelper;
      
      import com.jcraft.jorbis.Block;
      
      import tutoriel.block.*;
      import tutoriel.entity.TileEntityIthildin;
      import tutoriel.item.*;
      import tutoriel.proxy.TutoCommonProxy;
      
      import cpw.mods.fml.common.ITickHandler;
      import cpw.mods.fml.common.Mod;
      import cpw.mods.fml.common.Mod.EventHandler;
      import cpw.mods.fml.common.Mod.Instance;
      import cpw.mods.fml.common.SidedProxy;
      import cpw.mods.fml.common.TickType;
      import cpw.mods.fml.common.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      import cpw.mods.fml.common.network.NetworkMod;
      import cpw.mods.fml.common.registry.GameRegistry;
      
      @Mod(modid = "ModTutoriel", name = "Mod Tutoriel", version = "1.0.0")
      @NetworkMod(clientSideRequired = true, serverSideRequired = false)
      public class ModTutoriel {
      
      @SidedProxy(clientSide = "tutoriel.proxy.TutoClientProxy", serverSide = "tutoriel.proxy.TutoCommonProxy")
      public static TutoCommonProxy proxy;
      
      @Instance("ModTutoriel")
      public static ModTutoriel instance;
      
      public static net.minecraft.block.Block rocheVerte;
      
      /**
      * Pierre taillée blanche, doré
      */
      public static net.minecraft.block.Block whiteStoneBrick, stairsWhiteStoneBrick, slabWhiteStoneBrick, doubleSlabWhiteStoneBrick;
      public static net.minecraft.block.Block sandStoneBrick, stairsSandStoneBrick, slabSandStoneBrick, doubleSlabSandStoneBrick;
      
      /**
      * Roche magmatique
      */
      public static net.minecraft.block.Block blockVolcanic;
      public static DamageSource volcanicBlock = new DamageSource("volcanicBlock");
      
      /**
      * Ithildin
      */
      public static net.minecraft.block.Block ithildin;
      public static net.minecraft.block.Block ithildinGlowing;
      
      /**
      * Boue
      */
      public static net.minecraft.block.Block mud;
      
      /**
      * –-------------------------------------------------------------------------------------------------
      */
      
      public static Item fireStick;
      public static LongBow longBow;
      public static Item longArrow;
      public static Item fireArrow;
      public static CrossBow crossBowUnloaded;
      public static CrossBowLoaded crossBowLoaded;
      public static Item dwarfAxe;
      public static Item chain;
      public static Item agandaurHelmet, agandaurChestPlate, agandaurLeggings, agandaurBoots;
      public static EnumArmorMaterial AgandaurArmor;
      public static Item urukSword;
      
      @EventHandler
      public void PreInit(FMLPreInitializationEvent event){
      //Configuration
      
      //Blocks
      /**
      * Roche Verte
      */
      rocheVerte = new GreenStone(2000).setHardness(1.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep)
      .setUnlocalizedName("RocheVerte").setTextureName("modtutoriel:roche_verte");
      net.minecraft.block.Block.lightValue[2000]=14;
      GameRegistry.registerBlock(rocheVerte, "RocheVerte");
      /**
      * Pierre taillée blanche
      */
      whiteStoneBrick=new WhiteStoneBrick(2001).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep)
      .setUnlocalizedName("PierreTailleBlanche").setTextureName("modtutoriel:pierre_taille_blanche");
      GameRegistry.registerBlock(whiteStoneBrick, "WhiteStoneBrick");
      /**
      * Escalier pierre taillée blanche
      */
      stairsWhiteStoneBrick=new StairsWhiteStoneBrick(2002, whiteStoneBrick, 0).setUnlocalizedName("StairsWhiteStonebrick");
      GameRegistry.registerBlock(stairsWhiteStoneBrick, "TutorialStairs");
      /**
      * Dalle pierre taillée blanche
      */
      doubleSlabWhiteStoneBrick = new SlabWhiteStoneBrick(2003, true).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("DoubleSlabWhiteStoneBrick");
      slabWhiteStoneBrick = new SlabWhiteStoneBrick(2004, false).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("SlabWhiteStoneBrick");
      
      GameRegistry.registerBlock(doubleSlabWhiteStoneBrick, ItemSlabWhiteStoneBrick.class, "DoubleSlabWhiteStoneBrick");
      GameRegistry.registerBlock(slabWhiteStoneBrick, ItemSlabWhiteStoneBrick.class, "SlabWhiteStoneBrick");
      
      /**
      * Pierre taillée sable
      */
      sandStoneBrick=new WhiteStoneBrick(2005).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep)
      .setUnlocalizedName("SandStoneBrick").setTextureName("modtutoriel:sand_stone_brick");
      GameRegistry.registerBlock(sandStoneBrick, "SandStoneBrick");
      /**
      * Escalier pierre taillée sable
      */
      stairsSandStoneBrick=new StairsSandStoneBrick(2006, sandStoneBrick, 0).setUnlocalizedName("StairsSandStoneBrick");
      GameRegistry.registerBlock(stairsSandStoneBrick, "StairsSandStoneBrick");
      /**
      * Dalle pierre taillée blanche
      */
      doubleSlabSandStoneBrick = new SlabSandStoneBrick(2007, true).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("DoubleSlabSandStoneBrick");
      slabSandStoneBrick = new SlabSandStoneBrick(2008, false).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("SlabSandStoneBrick");
      
      GameRegistry.registerBlock(doubleSlabSandStoneBrick, ItemSlabSandStoneBrick.class, "DoubleSlabSandStoneBrick");
      GameRegistry.registerBlock(slabSandStoneBrick, ItemSlabSandStoneBrick.class, "SlabSandStoneBrick");
      
      /**
      * Bloc volcanique
      */
      blockVolcanic=new VolcanicBlock(2009).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("VolcanicBlock").setTextureName("modtutoriel:VolcanicBlock");
      GameRegistry.registerBlock(blockVolcanic, "VolcanicBlock");
      
      /**
      * Ithildin
      */
      ithildin=new Ithildin(2010).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep)
      .setUnlocalizedName("Ithildin").setTextureName("modtutoriel:ithildin");
      GameRegistry.registerBlock(ithildin, "Ithildin");
      
      ithildinGlowing=new Ithildin(2011).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep)
      .setUnlocalizedName("IthildinGlowing").setLightValue(0.875F).setTextureName("modtutoriel:ithildinGlowing");
      GameRegistry.registerBlock(ithildinGlowing, "IthildinGlowing");
      
      TileEntity.addMapping(TileEntityIthildin.class, "IthildinTE");
      
      /**
      * Boue
      */
      mud=new Mud(2012).setHardness(0.5F).setHardness(0.5F).setStepSound(net.minecraft.block.Block.soundGravelFootstep).setUnlocalizedName("mud").setTextureName("modtutoriel:mud");
      GameRegistry.registerBlock(mud,"Mud");
      
      //Items
      
      fireStick = new FireStick(12000).setUnlocalizedName("FireStick").setTextureName("modtutoriel:fire_stick");
      longBow = (LongBow)(new LongBow(12001)).setUnlocalizedName("long_bow").setTextureName("modtutoriel:long_bow");
      longArrow = (new Item(12002)).setUnlocalizedName("LongArrow").setCreativeTab(CreativeTabs.tabCombat).setTextureName("modtutoriel:long_arrow");
      fireArrow = (new Item(12003)).setUnlocalizedName("FireArrow").setCreativeTab(CreativeTabs.tabCombat).setTextureName("modtutoriel:firearrow");
      crossBowUnloaded = (CrossBow) (new CrossBow(12004)).setUnlocalizedName("CrossBow").setTextureName("modtutoriel:cross_bow_unloaded");
      crossBowLoaded = (CrossBowLoaded) (new CrossBowLoaded(12005)).setUnlocalizedName("CrossBowLoaded").setTextureName("modtutoriel:cross_bow_loaded");
      dwarfAxe = (new DwarfAxe(12006, EnumToolMaterial.IRON)).setUnlocalizedName("DwarfAxe").setTextureName("modtutoriel:dwarf_axe1");
      chain = new Item(12007).setUnlocalizedName("Chain").setTextureName("modtutoriel:chain").setMaxStackSize(64).setCreativeTab(CreativeTabs.tabMaterials);
      
      AgandaurArmor = EnumHelper.addArmorMaterial("Tutorial", 20, new int[]{4, 10, 7, 4}, 8);
      
      agandaurHelmet = new ItemAgandaurArmor(12008, AgandaurArmor, 0, 0).setUnlocalizedName("AgandaurHelmet").setTextureName("modtutoriel:agandaurHelmet");
      agandaurChestPlate = new ItemAgandaurArmor(12009, AgandaurArmor, 0, 1).setUnlocalizedName("AgandaurChestPlate").setTextureName("modtutoriel:agandaurChestPlate");
      agandaurLeggings = new ItemAgandaurArmor(12010, AgandaurArmor, 0, 2).setUnlocalizedName("AgandaurLeggings").setTextureName("modtutoriel:agandaurLeggings");
      agandaurBoots = new ItemAgandaurArmor(12011, AgandaurArmor, 0, 3).setUnlocalizedName("AgandaurBoots").setTextureName("modtutoriel:agandaurBoots");
      
      urukSword = new UrukSword(12012, EnumToolMaterial.IRON).setUnlocalizedName("UrukHaiSword").setTextureName("modtutoriel:uruk_sword");
      //Achievements
      }
      
      @EventHandler
      public void Init(FMLInitializationEvent event){
      //Registry
      
      //Mobs
      
      //Render
      proxy.registerRender();
      //NetWork
      
      //Recipe
      GameRegistry.addRecipe(new ItemStack(sandStoneBrick, 8), new Object[]{"X", "Y", 'X', new ItemStack(net.minecraft.block.Block.stoneBrick,8), 'Y', net.minecraft.block.Block.sand});
      GameRegistry.addRecipe(new ItemStack(slabWhiteStoneBrick ,6), new Object[]{"XXX", 'X' ,whiteStoneBrick});
      GameRegistry.addRecipe(new ItemStack(stairsWhiteStoneBrick, 4), new Object[]{"X ", "XX ", "XXX", 'X',whiteStoneBrick});
      GameRegistry.addRecipe(new ItemStack(whiteStoneBrick, 8), new Object[]{"XXX", "XYX", "XXX", 'X', net.minecraft.block.Block.stoneBrick, 'Y', new ItemStack(Item.dyePowder, 1, 15)});
      GameRegistry.addRecipe(new ItemStack(Item.saddle), new Object[]{"YYY","X X",'X', Item.silk,'Y', Item.leather});
      GameRegistry.addRecipe(new ItemStack(fireStick), new Object[]{" X"," Y ","Y ",'X', Item.coal,'Y', Item.stick});
      GameRegistry.addRecipe(new ItemStack(mud, 8), new Object[]{"X", "Y", 'X', new ItemStack(net.minecraft.block.Block.dirt,8), 'Y', Item.bucketWater});
      GameRegistry.addRecipe(new ItemStack(chain,8), new Object[]{" X ", "X X"," X ", 'X', net.minecraft.item.Item.ingotIron});
      GameRegistry.addRecipe(new ItemStack(ItemArmor.helmetChain), new Object[]{"XXX","X X", 'X', chain});
      GameRegistry.addRecipe(new ItemStack(ItemArmor.plateChain), new Object[]{"X X","XXX","XXX", 'X', chain});
      GameRegistry.addRecipe(new ItemStack(ItemArmor.legsChain), new Object[]{"XXX","X X", "X X", 'X', chain});
      GameRegistry.addRecipe(new ItemStack(ItemArmor.bootsChain), new Object[]{"X X","X X", 'X', chain});
      
      }
      
      @EventHandler
      public void PostInit(FMLPostInitializationEvent event) {
      //Intégration avec les autres mods
      
      }
      }
      
      

      et le constructeur

      
      public ItemAgandaurArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
      super(par1, par2EnumArmorMaterial, par3, par4);
      
      }
      
      
      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

        Or rapport, tu as une mauvaise importation dans ta classe principale :
        import com.jcraft.jorbis.Block;
        c’est pour ça que tu as du mettre public static net.minecraft.block.Block à la place de juste Block.

        Pour le problème de l’amure, je vois vraiment pas, tout les codes sembles bons, tu peux m’envoyer la classe de l’amure en entier ?

        1 réponse Dernière réponse Répondre Citer 0
        • 4 Hors-ligne
          42.
          dernière édition par

          Merci pour cette correction
          Je ne comprends pas vraiment non plus. À part un constructeur, et la méthode de génération des textures, je n’ai rien d’autre
          J’ai fais plusieurs essais en modifiant le chemin des fichiers, et leur endroit, mais rien à faire….

          package tutoriel.item;
          import javax.swing.text.html.parser.Entity;
          import tutoriel.common.ModTutoriel;
          import net.minecraft.item.EnumArmorMaterial;
          import net.minecraft.item.ItemArmor;
          import net.minecraft.item.ItemStack;
          
          public class ItemAgandaurArmor extends ItemArmor{
          
          public ItemAgandaurArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
          super(par1, par2EnumArmorMaterial, par3, par4);
          
          }
          
          public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
          {
          if(stack.itemID == ModTutoriel.agandaurLeggings.itemID)
          {
          return "modtutoriel:textures/models/armor/tutorial_layer_2.png";
          }
          else
          {
          return "modtutoriel:models/armor/tutorial_layer_1.png";
          }
          }
          
          }
          
          
          1 réponse Dernière réponse Répondre Citer 0
          • Superloup10S Hors-ligne
            Superloup10 Modérateurs
            dernière édition par

            ici, return “modtutoriel:models/armor/tutorial_layer_1.png”; c’est return “modtutoriel:textures/models/armor/tutorial_layer_1.png”;
            que tu dois mettre.

            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

            1 réponse Dernière réponse Répondre Citer 0
            • 4 Hors-ligne
              42.
              dernière édition par

              Ça faisait partie des nombreux tests que j’ai fait, et que je n’ai pas remis.
              Le premier devrait néanmoins fonctionner

              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

                Essaye avec public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) et met un @Override au dessus de la fonction pour voir si ça change quelque chose. (garde le même return)

                1 réponse Dernière réponse Répondre Citer 0
                • 4 Hors-ligne
                  42.
                  dernière édition par

                  Il bloque sur la signature si je mets @Override et que je mets cette signature. Il ne détecte pas d’implémentation dans la classe Item ou ItemArmor, alors que j’ai vérifié, j’ai bien cette fonction dans Item.
                  Rajouter @Override au dessus de la signature de la fonction que j’ai actuellement donne exactement le même problème 😕
                  J’ai l’impression que je vais réinstaller forge demain….

                  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

                    Non, inutile de réinstaller Forge, je viens de trouver le problème. Le @Override ne marche pas, car

                    getArmorTexture(net.minecraft.item.ItemStack stack, javax.swing.text.html.parser.Entity entity, int slot, int layer) != getArmorTexture(net.minecraft.item.ItemStack stack, net.minecraft.entity.Entity entity, int slot, int layer)
                    

                    Faite attention à vos importation !

                    import javax.swing.text.html.parser.Entity; -> import net.minecraft.entity.Entity;
                    
                    1 réponse Dernière réponse Répondre Citer 1
                    • 4 Hors-ligne
                      42.
                      dernière édition par

                      Effectivement, je venais de le trouver au même moment… Désormais, cela fonctionne
                      Je ferais plus attention désormais.
                      Merci pour vos tutos 🙂

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

                        Bonjour,
                        J’ai suivi ton tuto, mais quand je mets mon armure, le layer est celui de base (un truc tout moche noir et rose ;))
                        En regardant dans le code d’erreur j’ai remarqué qu’il ne trouve pas la texture :

                        
                        2013-11-23 15:47:48 [Avertissement] [Minecraft-Client] Failed to load texture: newores:rubis_layer_1
                        java.io.FileNotFoundException: newores:rubis_layer_1
                        at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:64)
                        at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
                        at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:31)
                        at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:84)
                        at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:41)
                        at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:53)
                        at net.minecraft.client.renderer.entity.RenderPlayer.setArmorModel(RenderPlayer.java:72)
                        at net.minecraft.client.renderer.entity.RenderPlayer.shouldRenderPass(RenderPlayer.java:514)
                        at net.minecraft.client.renderer.entity.RendererLivingEntity.doRenderLiving(RendererLivingEntity.java:164)
                        at net.minecraft.client.renderer.entity.RenderPlayer.func_130009_a(RenderPlayer.java:166)
                        at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:556)
                        at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:312)
                        at net.minecraft.client.gui.inventory.GuiInventory.func_110423_a(GuiInventory.java:121)
                        at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:849)
                        at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:111)
                        at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:43)
                        at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:683)
                        at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1036)
                        at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946)
                        at net.minecraft.client.Minecraft.run(Minecraft.java:838)
                        at net.minecraft.client.main.Main.main(Main.java:93)
                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                        at java.lang.reflect.Method.invoke(Unknown Source)
                        at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
                        at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
                        
                        

                        Mais j’ai beau vérifier et revérifier, le chemin d’accès est le bon.
                        Pouvez-vous m’aider ?

                        Classe Principale :

                        
                        package fr.MrBlockTNT.NewOres;
                        
                        import net.minecraft.block.Block;
                        import net.minecraft.creativetab.CreativeTabs;
                        import net.minecraft.item.EnumArmorMaterial;
                        import net.minecraft.item.Item;
                        import net.minecraftforge.common.EnumHelper;
                        import cpw.mods.fml.common.Mod;
                        import cpw.mods.fml.common.Mod.EventHandler;
                        import cpw.mods.fml.common.Mod.Instance;
                        import cpw.mods.fml.common.SidedProxy;
                        import cpw.mods.fml.common.event.FMLInitializationEvent;
                        import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                        import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                        import cpw.mods.fml.common.network.NetworkMod;
                        import cpw.mods.fml.common.registry.GameRegistry;
                        import fr.MrBlockTNT.proxy.CommonProxy;
                        
                        @Mod(modid = "NewOres", name = "New Ores", version = "1.0.0")
                        @NetworkMod(clientSideRequired = true, serverSideRequired = false)
                        
                        public class NewOres
                        {
                        @SidedProxy(clientSide = "fr.MrBlockTNT.proxy.ClientProxy", serverSide = "fr.MrBlockTNT.proxy.CommonProxy")
                        public static CommonProxy proxy;
                        
                        @Instance("NewOres")
                        public static NewOres instance;
                        
                        public static Block rubisOre, saphirOre, onyxOre, enchantiteOre, rubisBlock, saphirBlock, onyxBlock, enchantiteBlock;
                        
                        public static Item enchantiteDust, rubis, saphir, onyx;
                        public static Item rubyBar, saphirBar, onyxBar, enchantiteBar;
                        public static Item rubyHelmet, rubyPlate, rubyLegs, rubyBoots;
                        
                        static EnumArmorMaterial rubyMaterial = EnumHelper.addArmorMaterial("Ruby", 20, new int[]{2, 4, 3, 1}, 10);
                        
                        public static CreativeTabs NewOresTab = new NewOresTab("NewOres");
                        
                        @EventHandler
                        public void PreInit(FMLPreInitializationEvent event)
                        {
                        // Blocks
                        rubisOre = new BlockNewOre(2000).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Rubis Ore").setTextureName("newores:rubis_ore");
                        saphirOre = new BlockNewOre(2001).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Saphirre Ore").setTextureName("newores:saphir_ore");
                        onyxOre = new BlockNewOre(2002).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Onyx Ore").setTextureName("newores:onyx_ore");
                        enchantiteOre = new BlockNewOre(2003).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Enchantite Ore").setTextureName("newores:enchantite_ore_end");
                        //onyxNether = new BlockNewOre(2004).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Onyx Ore Nether").setTextureName("newores:onyx_ore_nether");
                        //enchantiteEnd = new BlockNewOre(2005).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Enchantite Ore End").setTextureName("newores:enchantite_ore");
                        
                        rubisBlock = new BlockNewOre(2006).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Rubis Block").setTextureName("newores:rubis_block");
                        saphirBlock = new BlockNewOre(2007).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Saphirre Block").setTextureName("newores:saphir_block");
                        onyxBlock = new BlockNewOre(2008).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Onyx Block").setTextureName("newores:onyx_block");
                        enchantiteBlock = new BlockNewOre(2009).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Enchantite Block").setTextureName("newores:enchantite_block");
                        
                        GameRegistry.registerBlock(rubisOre, "Minerai de Rubis");
                        GameRegistry.registerBlock(saphirOre, "Minerai de Saphir");
                        GameRegistry.registerBlock(onyxOre, "Minerai d'Onyx");
                        GameRegistry.registerBlock(enchantiteOre, "Minerai d'Enchantite");
                        //GameRegistry.registerBlock(onyxNether, "Minerai d'Onyx Nether");
                        //GameRegistry.registerBlock(enchantiteEnd, "Minerai d'Enchantite End");
                        
                        GameRegistry.registerBlock(rubisBlock, "Bloc de Rubis");
                        GameRegistry.registerBlock(saphirBlock, "Bloc de Saphir");
                        GameRegistry.registerBlock(onyxBlock, "Bloc d'Onyx");
                        GameRegistry.registerBlock(enchantiteBlock, "Bloc d'Enchantite");
                        
                        //Items
                        enchantiteDust = new ItemNewOres(12000).setUnlocalizedName("Enchantite Dust").setTextureName("newores:enchantite_dust");
                        rubis = new ItemNewOres(12001).setUnlocalizedName("Rubis Gem").setTextureName("newores:rubis");
                        saphir = new ItemNewOres(12002).setUnlocalizedName("Saphir Gem").setTextureName("newores:saphir");
                        onyx = new ItemNewOres(12003).setUnlocalizedName("Onyx Gem").setTextureName("newores:onyx");
                        enchantiteBar = new ItemNewOres(12004).setUnlocalizedName("Enchantite Bar").setTextureName("newores:enchantite_dust");
                        rubyBar = new ItemNewOres(12005).setUnlocalizedName("Rubis Bar").setTextureName("newores:rubis");
                        saphirBar = new ItemNewOres(12006).setUnlocalizedName("Saphir Bar").setTextureName("newores:saphir");
                        onyxBar = new ItemNewOres(12007).setUnlocalizedName("Onyx Bar").setTextureName("newores:onyx");
                        
                        GameRegistry.registerItem(enchantiteDust, "EnchantiteDust", "NewOres");
                        GameRegistry.registerItem(rubis, "Rubis", "NewOres");
                        GameRegistry.registerItem(saphir, "Saphir", "NewOres");
                        GameRegistry.registerItem(onyx, "Onyx", "NewOres");
                        GameRegistry.registerItem(enchantiteBar, "Enchantite Bar", "NewOres");
                        GameRegistry.registerItem(rubyBar, "Rubis Bar", "NewOres");
                        GameRegistry.registerItem(saphirBar, "Saphir Bar", "NewOres");
                        GameRegistry.registerItem(onyxBar, "Onyx Bar", "NewOres");
                        
                        // Armures & Outils
                        rubyHelmet = new RubyArmor(12100, rubyMaterial, 0,0).setUnlocalizedName("RubyHelmet").setTextureName("newores:rubis_helmet");
                        rubyPlate = new RubyArmor(12101, rubyMaterial, 0, 1).setUnlocalizedName("RubyPlate").setTextureName("newores:rubis_chestplate");
                        rubyLegs = new RubyArmor(12102, rubyMaterial, 0, 2).setUnlocalizedName("RubyLegs").setTextureName("newores:rubis_leggings");
                        rubyBoots = new RubyArmor(12103, rubyMaterial, 0, 3).setUnlocalizedName("RubyBoots").setTextureName("newores:rubis_boots");
                        
                        GameRegistry.registerItem(rubyHelmet, "RubyHelmet", "NewOres");
                        GameRegistry.registerItem(rubyPlate, "RubyPlate", "NewOres");
                        GameRegistry.registerItem(rubyLegs, "RubyLegs", "NewOres");
                        GameRegistry.registerItem(rubyBoots, "RubyBoots", "NewOres");
                        //Generation
                        GameRegistry.registerWorldGenerator(new NewOresGenerator());
                        }
                        
                        @EventHandler
                        public void Init(FMLInitializationEvent event)
                        {
                        proxy.registerRender();
                        }
                        
                        @EventHandler
                        public void PostInit(FMLPostInitializationEvent event)
                        {
                        
                        }
                        }
                        
                        

                        RubyArmor :

                        
                        package fr.MrBlockTNT.NewOres;
                        
                        import net.minecraft.entity.Entity;
                        import net.minecraft.item.EnumArmorMaterial;
                        import net.minecraft.item.ItemArmor;
                        import net.minecraft.item.ItemStack;
                        
                        public class RubyArmor extends ItemArmor
                        {
                        public RubyArmor(int id, EnumArmorMaterial armorMaterial, int type, int layer)
                        {
                        super(id, armorMaterial, type, layer);
                        }
                        
                        public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
                        {
                        if(stack.itemID == NewOres.rubyLegs.itemID)
                        {
                        return "newores:rubis_layer_2";
                        }
                        else
                        {
                        return "newores:rubis_layer_1";
                        }
                        }
                        
                        public boolean getIsRepairable(ItemStack stack, ItemStack repairItem)
                        {
                        if(stack.getItem().equals(this) && repairItem.getItem().itemID == NewOres.rubyBar.itemID)
                        return true;
                        return false;
                        }
                        }
                        
                        

                        Mes mods:

                        • New Ores
                        • More Dragons
                        1 réponse Dernière réponse Répondre Citer 0
                        • PatatoufetP Hors-ligne
                          Patatoufet
                          dernière édition par

                          C’est le chemin qui pose problème.
                          Imaginons que ta texture se trouve dans “assets/newores/textures/armure/rubis_layer_1.png”.
                          Alors ton chemin dans ton code est :

                          return "newores:textures/armure/rubis_layer_1.png";
                          
                          1 réponse Dernière réponse Répondre Citer 0
                          • bin4r1sB Hors-ligne
                            bin4r1s
                            dernière édition par

                            Merci, j’essaie ça tout de suite 🙂

                            EDIT : ça marche toujours pas 😞

                            Mes mods:

                            • New Ores
                            • More Dragons
                            1 réponse Dernière réponse Répondre Citer 0
                            • kevin_68K Hors-ligne
                              kevin_68 Moddeurs confirmés
                              dernière édition par

                              Il faut mettre le .png à la fin


                              Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

                                Je viens de m’en rendre compte, et j’allais faire un édit 🙂

                                Mes mods:

                                • New Ores
                                • More Dragons
                                1 réponse Dernière réponse Répondre Citer 1
                                • FlowF Hors-ligne
                                  Flow
                                  dernière édition par

                                  Y a t-il moyen de rendre l’armure incassable s’il vous plait ? Comme la bedrock par exemple.

                                  Oui ce gif est drôle.

                                  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

                                    Essaye de mettre la résistance sur -1 ?

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • Superloup10S Hors-ligne
                                      Superloup10 Modérateurs
                                      dernière édition par

                                      Je pense que cela doit être possible, les armures quantums d’IC² ont cette fonctionnalité.

                                      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                                        Bonjour, merci pour ce tutoriel.
                                        Cependant, je pense qu’il manque une chose: Comment définit-on le matériel avec lequel l’armure se craft ? Il suffit d’utiliser GameRegistry.addRecipe ?
                                        Merci d’avance

                                        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

                                          Oui, il faut faire des recettes comme les autres.

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

                                            Merci beaucoup (Je pense qu’il faudrait le mentionner dans le tutoriel, après, c’est toi qui vois ^^")

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB