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

    Solved J'ai trois problèmes avec la 1.7…

    1.7.x
    1.7.x
    3
    12
    3146
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • samhalo007
      samhalo007 last edited by

      Salut à vous,

      Depuis l’arrivée de Forge en 1.7… J’ai quelques petits problèmes avec mon mod…
      Version de Forge: 1.7.2-10.12.0.1024
      Ma classe principale:

      package fr.mrsamhalo.taherservmod;
      
      import io.netty.handler.codec.http.HttpHeaders.Names;
      
      import org.apache.logging.log4j.message.MapMessage.MapFormat;
      
      import net.minecraft.client.Minecraft;
      import net.minecraft.item.Item;
      import net.minecraft.item.Item.ToolMaterial;
      import net.minecraft.item.ItemAxe;
      import net.minecraft.item.ItemHoe;
      import net.minecraft.item.ItemPickaxe;
      import net.minecraft.item.ItemSpade;
      import net.minecraft.item.ItemSword;
      import net.minecraftforge.common.config.Configuration;
      import net.minecraftforge.common.util.EnumHelper;
      import cpw.mods.fml.common.FMLCommonHandler;
      import cpw.mods.fml.common.Mod;
      import cpw.mods.fml.common.Mod.EventHandler;
      import cpw.mods.fml.common.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      import cpw.mods.fml.common.gameevent.TickEvent;
      import cpw.mods.fml.common.registry.GameRegistry;
      import cpw.mods.fml.common.registry.LanguageRegistry;
      import cpw.mods.fml.relauncher.Side;
      
      @Mod(modid = TaherServMod.MODID, version = TaherServMod.VERSION)
      public class TaherServMod
      {
         public static final String MODID = "TaherServMod";
         public static final String VERSION = "1.0";
      
         public static ToolMaterial ObsidianI = EnumHelper.addToolMaterial("ObsidianI", 3, 4683, 11.0F, 6.0F, 10);
      
         public static Item swordObsi;
         public static Item pickObsi;
         public static Item axeObsi;
         public static Item shovelObsi;
         public static Item hoeObsi;
      
         @EventHandler
         public void init(FMLInitializationEvent event)
         {
          swordObsi = new ItemSword(ObsidianI).setUnlocalizedName("swordObsi").setTextureName(TaherServMod.MODID + ":swordObsi");
          GameRegistry.registerItem(swordObsi, swordObsi.getUnlocalizedName().substring(5));
      
          pickObsi = new ItemPickaxe(ObsidianI).setUnlocalizedName("pickObsi").setTextureName(TaherServMod.MODID + ":" + "pickObsi.png");
          GameRegistry.registerItem(pickObsi, pickObsi.getUnlocalizedName().substring(5));
      
          axeObsi = new ItemAxe(ObsidianI).setUnlocalizedName("axeObsi").setTextureName(TaherServMod.MODID + ":" + "axeObsi.png");
          GameRegistry.registerItem(axeObsi, axeObsi.getUnlocalizedName().substring(5));
      
          shovelObsi = new ItemSpade(ObsidianI).setUnlocalizedName("shovelObsi").setTextureName(TaherServMod.MODID + ":shovelObsi.png");
          GameRegistry.registerItem(shovelObsi, shovelObsi.getUnlocalizedName().substring(5));
      
          hoeObsi = new ItemHoe(ObsidianI).setUnlocalizedName("hoeObsi").setTextureName(TaherServMod.MODID + ":hoeObsi.png");
          GameRegistry.registerItem(hoeObsi, hoeObsi.getUnlocalizedName().substring(5));
      
          FMLCommonHandler.instance().bus().register(new RenderTickHandler(Minecraft.getMinecraft()));
         }
      }
      

      Problème #1: Quand j’essai de créer une nouvelle pioche et une nouvelle hache, ça me dit:
      "The constructor ItemPickaxe(Item.ToolMaterial) is not visible "
      et
      "The constructor ItemAxe(Item.ToolMaterial) is not visible "
      Code: ```java

      pickObsi = new ItemPickaxe(ObsidianI).setUnlocalizedName(“pickObsi”).setTextureName(TaherServMod.MODID + “:” + “pickObsi.png”);
          GameRegistry.registerItem(pickObsi, pickObsi.getUnlocalizedName().substring(5));

      axeObsi = new ItemAxe(ObsidianI).setUnlocalizedName(“axeObsi”).setTextureName(TaherServMod.MODID + “:” + “axeObsi.png”);
          GameRegistry.registerItem(axeObsi, axeObsi.getUnlocalizedName().substring(5));

      
      Problème #2: En jeu, les Items ne chargent pas les textures... J'aimerais savoir où les placer pour que ça fonctionne... En occurence, je les place dans "\ForgeModding1.7.2\src\main\resources\assets\TaherServMod\textures\items"
      
      Problème #3: En 1.6.4, pour remplacer le menu principal, j'utilisais un TickRegistry... (Voici les codes que j'utilisais)
      Dans la méthode load de la classe principale:
      ```java
      TickRegistry.registerTickHandler(new TickHandler(), Side.CLIENT);
      

      Dans la classe TickHandler:

      package samhalo007.aperixx.gui;
      
      import java.util.EnumSet;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.gui.GuiIngame;
      import net.minecraft.client.gui.GuiMainMenu;
      import net.minecraft.client.gui.GuiOptions;
      import net.minecraft.client.gui.GuiScreen;
      import net.minecraft.client.resources.GuiScreenTemporaryResourcePackSelect;
      import cpw.mods.fml.client.FMLClientHandler;
      import cpw.mods.fml.common.ITickHandler;
      import cpw.mods.fml.common.TickType;
      
      public class TickHandler implements ITickHandler {
      
      protected Minecraft mc;
      @Override
      public void tickStart(EnumSet <ticktype>type, Object... tickData)
      {
          if (type.equals(EnumSet.of(TickType.CLIENT)))
      {
             Minecraft mc = Minecraft.getMinecraft();
      GuiScreen guiscreen = mc.currentScreen;
             GuiAperixxMenu monMenu  = new GuiAperixxMenu();
      
      if (guiscreen instanceof GuiMainMenu && guiscreen != monMenu)
      {
      mc.displayGuiScreen(monMenu);
      }
      }
      }
      
         @Override
         public void tickEnd(EnumSet <ticktype>type, Object... tickData)
         {
         }
      
      @Override
      public EnumSet <ticktype>ticks() {
      return EnumSet.of(TickType.CLIENT);
      }
      
      @Override
      public String getLabel() {
      return getLabel();
      }
      }
      

      Mais dans la 1.7, ça ne fonctionne pas, j’aimerais savoir si il y a une alternative.

      Voilà, j’espère avoir bien fait mon topic d’aide… Merci d’avance !</ticktype></ticktype></ticktype>

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

        Problème #1 il faut créer une classe extends ItemPickage, une extends ItemAxe, etc …
        Problème #2 presque bon, sauf que le modid doit être tout en minuscule.
        Problème #3 je te renvoie ici : http://www.minecraftforgefrance.fr/showthread.php?tid=555&pid=6034#pid6034

        Et sinon, [java] pas

        pour les codes, il y a même un petit logo java pour la balise.

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

          Wow ! Merci pour la réponse rapide !

          1. Problème réglé !
          2. Les textures ne chargent toujours pas…
          3. Il n’y aurait pas une façon de récupérer les sources du GuiMainMenu.java ?
          1 Reply Last reply Reply Quote 0
          • Überfap
            Überfap last edited by

            Oui : tu va dans l’onglet “Referrenced Libraries” sur eclipse, et tu déroule le forgeSrcxxx-xxxx-xxx, jusqu’à trouver le fichier !

            Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
            Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

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

              #2 Mets tes items dans le preInit, en 1.7 les textures ne fonctionne que si les items et blocs sont preInit.
              #3 Voir la réponse d’AlphaSwittleTeam

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

                Je m’excuse pour la réponse en retard, j’était occupé toute la journée et c’est le seul moment donc je trouve pour répondre…
                2) Tout est réglé merci ! 🙂
                3) Ça ne donne qu’un fichier class incompréhensible…

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

                  Tu as fait un setupDevWorkspace toi … Il faut suivre nos tutoriels 🙂
                  Vas dans le dossier de forge, fait un shift gauche + clic droit, Ouvrir une fenêtre de commande ici, et tape :
                  gradlew setupDecompWorkspace
                  une fois fini :
                  gradlew eclipse
                  Tes sources seront toujours là et tu pourra ouvrir GuiMainMenu.class sans problème.

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

                    J’avais suivi le tutoriel de LexManos… 😉


                    Bon, tous les problèmes cités ici ont été règlés !
                    Reste plus que ce prob’ qui s’est ajouté…

                    Le code de l’armure dans le fichier principal…

                    obsidianHelmet = new ArmorObsidian(ObsidianA, 0, 0).setUnlocalizedName("obsidianHelmet").setTextureName(TaherServMod.MODID + ":HelmetObsi");
                    GameRegistry.registerItem(obsidianHelmet, "obsidian_helmet", TaherServMod.MODID);
                    obsidianChestPlate = new ArmorObsidian(ObsidianA, 0, 1).setUnlocalizedName("obsidianChestPlate").setTextureName(TaherServMod.MODID + ":ChestPlateObsi");
                    GameRegistry.registerItem(obsidianChestPlate, "obsidian_chestplate", TaherServMod.MODID);
                    obsidianLeggings = new ArmorObsidian(ObsidianA, 0, 2).setUnlocalizedName("obsidianLeggings").setTextureName(TaherServMod.MODID + ":LeggingsObsi");
                    GameRegistry.registerItem(obsidianLeggings, "obsidian_leggings", TaherServMod.MODID);
                    obsidianBoots = new ArmorObsidian(ObsidianA, 0, 3).setUnlocalizedName("obsidianBoots").setTextureName(TaherServMod.MODID + ":BootsObsi");
                    GameRegistry.registerItem(obsidianBoots, "obsidian_boots", TaherServMod.MODID);
                    

                    Le code de ArmorObsidian.java

                    package fr.mrsamhalo.taherservmod;
                    
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.entity.Entity;
                    import net.minecraft.item.ItemArmor;
                    import net.minecraft.item.ItemStack;
                    
                    public class ArmorObsidian extends ItemArmor
                    {
                    public ArmorObsidian(ArmorMaterial armorMaterial, int type, int layer)
                    {
                    super(armorMaterial, type, layer);
                    setCreativeTab(CreativeTabs.tabCombat);
                    }
                    
                    public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
                    {
                    if(stack.getItem() == TaherServMod.obsidianLeggings)
                    {
                    return TaherServMod.MODID + "textures/models/armor/obsidian_layer_2.png"; //armure 1,
                    }
                    else if(stack.getItem() == TaherServMod.obsidianHelmet || stack.getItem() == TaherServMod.obsidianChestPlate || stack.getItem() == TaherServMod.obsidianBoots)
                    {
                    return TaherServMod.MODID + "textures/models/armor/obsidian_layer_1.png"; //armure 1, casque + plastron + bottes
                    }
                    else if(stack.getItem() == TaherServMod.obsidianLeggings)
                    {
                    return TaherServMod.MODID + "textures/models/armor/obsidian_layer_2.png"; //armure 2,
                    }
                    return TaherServMod.MODID + ":textures/models/armor/obsidian_layer_1.png";
                    }
                    }
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • Überfap
                      Überfap last edited by

                      Tiens, le code d’une armure qui marche parfaitement : http://pastebin.com/YkK6FKDm

                      Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                      Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

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

                        La méthode public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)
                        est devenu : public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)

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

                          Ooh ! Ça marche ! 😄 Merci pour l’aide rapide !

                          1 Reply Last reply Reply Quote 0
                          • Überfap
                            Überfap last edited by

                            De rien 😉

                            Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                            Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

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

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB