MFF

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

    Retirer le visuel en main Item

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    13 Messages 4 Publieurs 2.9k 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.
    • DCEDOD Hors-ligne
      DCEDO
      dernière édition par

      @‘AymericRed’:

      Il y a surement un autre moyen mais tu peux passer par une IItemRenderer (tuto sur le forum) et ne rien rendre du tout si l’item est en main.

      Je dois mal utiliser l’outil de recherche car ca ne donné rien avec ta réponse (dans la recherche de tutoriel)

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

        C’est que c’est pas dans le titre. https://www.minecraftforgefrance.fr/showthread.php?tid=130 il est valable en 1.7 je l’ai utilisé, mais en 1.8 c’est les jsons.

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

          @‘AymericRed’:

          C’est que c’est pas dans le titre. https://www.minecraftforgefrance.fr/showthread.php?tid=130 il est valable en 1.7 je l’ai utilisé, mais en 1.8 c’est les jsons.

          Je vais voir, merci 😛

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

            Oui, le plus simple et de passer par un json pour annuler le rendu en main, en fait ça reviens à ne pas l’annuler mais plutôt à ne rien rendre

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

              @‘BrokenSwing’:

              Oui, le plus simple et de passer par un json pour annuler le rendu en main, en fait ça reviens à ne pas l’annuler mais plutôt à ne rien rendre

              En 1.7.10 je peux faire ca avec un json ? Un ami m’a dit que le fait de faire un rendu qui ne rend rien pourrait créer des lags inutiles.

              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 n’y a pas de json pour les modèles d’item / bloc en 1.7.10.
                Il faudrait plutôt que tu changes d’amis.
                Un rendu vide, c’est un rendu qui fait rien, c’est mathématiquement impossible que ne rien faire utilise plus de cycle cpu / gpu que faire quelque chose.

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

                  @‘robin4002’:

                  Il n’y a pas de json pour les modèles d’item / bloc en 1.7.10.
                  Il faudrait plutôt que tu changes d’amis.
                  Un rendu vide, c’est un rendu qui fait rien, c’est mathématiquement impossible que ne rien faire utilise plus de cycle cpu / gpu que faire quelque chose.

                  Ahah, je vais y penser alors ! Merci

                  J’ai suivi le tutoriel mais je bloque sur deux petites erreurs :

                  package fr.shyfe.dcedo.common;
                  
                  import org.lwjgl.opengl.GL11;
                  
                  import net.minecraft.client.Minecraft;
                  import net.minecraft.entity.Entity;
                  import net.minecraft.item.ItemStack;
                  import net.minecraft.util.ResourceLocation;
                  import net.minecraftforge.client.IItemRenderer;
                  
                  public class ItemPressionTechneRenderer implements IItemRenderer{
                  
                  protected ItemPressionTechneModel model;
                  protected static final ResourceLocation texture = new ResourceLocation("ModTutoriel:textures/items/itemTechne.png");
                  
                  public ItemPressionTechneRenderer ()
                  {
                  model = new ItemPressionTechneModel();
                  }
                  
                  @Override
                  public boolean handleRenderType(ItemStack item, ItemRenderType type)
                  {
                  switch(type)
                  {
                  case EQUIPPED:
                  return true;
                  default:
                  return false;
                  }
                  }
                  
                  @Override
                  public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
                  {
                  return false;
                  }
                  
                  @Override
                  public void renderItem(ItemRenderType type, ItemStack item, Object… data)
                  {
                  switch(type)
                  {
                  case EQUIPPED_FIRST_PERSON:
                  {
                  GL11.glPushMatrix();
                  Minecraft.getMinecraft().renderEngine.func_110577_a(texture);
                  model.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
                  GL11.glPopMatrix();
                  break;
                  }
                  default:
                  break;
                  }
                  }
                  }
                  
                  

                  Dans la troisième méthode, “Minecraft.getMinecraft().renderEngine.func_110577_a(texture);” le func est en erreur.

                  Et dans mon ClientProxy :

                  package fr.shyfe.dcedo.proxy;
                  
                  import BlockPers.TileEntityGrassA;
                  import BlockPers.TileEntityGrassB;
                  import BlockPers.TileEntityGrassC;
                  import BlockPers.TileEntityIncBox;
                  import BlockPers.TileEntityTroncCim;
                  import SortIop.Pression;
                  import SortIop.SortsIop;
                  import cpw.mods.fml.client.registry.ClientRegistry;
                  import cpw.mods.fml.client.registry.RenderingRegistry;
                  import fr.shyfe.dcedo.common.ItemPressionTechneRenderer;
                  import fr.shyfe.dcedo.common.Main;
                  import net.minecraft.client.model.ModelBiped;
                  import net.minecraftforge.client.IItemRenderer;
                  import net.minecraftforge.client.MinecraftForgeClient;
                  
                  public class ClientProxy extends CommonProxy {
                  
                  public static int tesrRenderId;
                  
                  @Override
                  public void registerRender()
                  {
                  tesrRenderId = RenderingRegistry.getNextAvailableRenderId();
                          RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());
                  
                  ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGrassA.class, new TileEntityGrassASpecialRenderer());
                  ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGrassB.class, new TileEntityGrassBSpecialRenderer());
                  ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGrassC.class, new TileEntityGrassCSpecialRenderer());
                  ClientRegistry.bindTileEntitySpecialRenderer(TileEntityIncBox.class, new TileEntityIncBoxSpecialRenderer());
                  ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTroncCim.class, new TileEntityTroncCimSpecialRenderer());
                  
                  MinecraftForgeClient.registerItemRenderer(SortsIop.Pression.itemID, (IItemRenderer)new ItemPressionTechneRenderer());
                  }
                  }
                  
                  

                  Le “.itemID” me donne l’erreur suivant : “itemID cannot be resolved or is not a field”

                  L’item auquel je souhaiterais donner un modèle particulier (rien) est déclaré dans SortsIop.java sous le nom de “Pression”.

                  Je précise aussi que je n’ai rien mis dans la classe du modèle étant donné que je ne veux rien :

                  package fr.shyfe.dcedo.common;
                  
                  import net.minecraft.client.model.ModelBase;
                  
                  public class ItemPressionTechneModel extends ModelBase {
                  
                  }
                  
                  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

                    Retire le .itemID.
                    Et pour le func_110577_a, c’est surement bindTexture le remplaçant.

                    Par contre avec ça tu aura bien un rendu, si tu veux rien faut laisser la classe vide.

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

                      @‘robin4002’:

                      Retire le .itemID.
                      Et pour le func_110577_a, c’est surement bindTexture le remplaçant.

                      Par contre avec ça tu aura bien un rendu, si tu veux rien faut laisser la classe vide.

                      Quelle classe je dois laisser vide ? Celle du modèle l’est déjà. Ici ca fonctionne en F5 (les joueurs ne voient plus le modèle mais je l’ai toujours en main).

                      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

                        La fonction renderItem, au lieu de mettre ce que tu as mis dedans laisse-là vide.
                        Supprimes aussi ItemPressionTechneModel  ainsi que les trois lignes suivantes :
                        protected ItemPressionTechneModel model;
                        protected static final ResourceLocation texture = new ResourceLocation(“ModTutoriel:textures/items/itemTechne.png”);
                        model = new ItemPressionTechneModel();
                        Tu n’en as pas besoin, ça fait du code et des appelles de fonction pour rien.

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

                          Ca fonctionne, merci encore !

                          Au passage si vous voulez comme moi retirer le modèle de votre main et non du joueur en F5, changez

                          EQUIPPED de la première méthode en EQUIPPED_FIRST_PERSON

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

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB