MFF

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

    GLUtils, ou comment faire des modèles 3D facilement

    Planifier Épinglé Verrouillé Déplacé Autres
    150 Messages 20 Publieurs 60.4k Vues 2 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.
    • A Hors-ligne
      anguelwyvern
      dernière édition par

      question, j’ai un amis qui va me faire mes modèle de base sous blender, es que minecraft les acceptera comme ça ?
      ou il n’y as que GLUutil qui fonctionne ?

      sinon excellent tuto clair que sa va grandement m’aidez !

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

        @‘anguelwyvern’:

        question, j’ai un amis qui va me faire mes modèle de base sous blender, es que minecraft les acceptera comme ça ?
        ou il n’y as que GLUutil qui fonctionne ?

        sinon excellent tuto clair que sa va grandement m’aidez !

        Tu peux utiliser le loader forge de base, mais il faudrat adapter ton modèle pour n’user qu’une texture.

        Je te conseille de prendre GLUtils, je m’en sert grandement dans mon mod Ratchet & Clank, et le rendu est super.

        "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
        ― Jordan B. Peterson

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

          ok merci de ta réponse

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

            N’hésite pas à prendre les sources et les compiler avec ton mod 😉

            Modérateur sur MFF. 
            Mon Github: http://github.com/jglrxavpok
            Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

              ok je vais essayez, j’avoue que je suis au début de mon apprentissage pour l’utilisation java et autre, et je risque par le futur de vous posez pas mal de question, en tous cas depuis qu’elle que jour j’arrête pas de voir tous les tuto de votre chaine youtube en boucle xD

              edit : bon j’ai vue les tuto, et mon niveau en java de base est trop faible donc je retourne aux base,
              (en gros je ne sait pas ce que fait “@Event Handler” ou “public void/static”
              je revient donc dans 2-3 mois quand j’aurais grossis mes connaissance

              http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-java

              bref dsl du dérangement, et merci pour les tuto ^^ sa à été instructif

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

                Salut à tous. Bon tutoriel mais il y a juste une chose que je ne comprends pas (une chose surement toute bête) il faut créer un model pour le block lorsque vous dites de dessiner son model et de mettre ceci : model.render();

                Le seul truc c’est où faut-il mettre cette ligne de code car elle m’embête in-game mon yoshi a les proportions d’un block normal et il est invisible je vois juste les contours noirs.Plz help

                mon tileEntityTestSpecialRenderer.java

                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                
                import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                import net.minecraft.tileentity.TileEntity;
                
                import org.jglrxavpok.glutils.TessellatorModel;
                import org.lwjgl.opengl.GL11;
                
                public class TileEntityTestSpecialRenderer extends TileEntitySpecialRenderer implements IInventoryRenderer
                {
                
                private TessellatorModel glmodel;
                
                public TileEntityTestSpecialRenderer()
                {
                glmodel = new TessellatorModel("/assets/obj/Yoshi.obj");
                glmodel.regenerateNormals();
                }
                
                @Override
                public void renderTileEntityAt(TileEntity tileentity, double d0, double d1, double d2, float f)
                {
                GL11.glPushMatrix();
                GL11.glTranslated(d0+0.5, d1, d2+0.5);
                GL11.glScaled(0.01, 0.01, 0.01);
                GL11.glShadeModel(GL11.GL_SMOOTH);
                glmodel.render();
                GL11.glPopMatrix();
                }
                
                public void renderInventory(double x, double y, double z)
                {
                this.renderTileEntityTestAt(null, x, y, z, 0.0F);
                }
                
                public void renderTileEntityTestAt(TileEntity te, double x, double y, double z, float tick)
                {
                this.renderTileEntityTestAt((TileEntityTest)te, x, y, z, tick);
                }
                }
                
                

                mon TileEntityTest.java

                package mods.maxiworldcraft.mineKingdomHeartsmod.common;
                
                import net.minecraft.nbt.NBTTagCompound;
                import net.minecraft.tileentity.TileEntity;
                
                public class TileEntityTest extends TileEntity
                {
                public String visiteur[] = new String[]{"visiteur0", "visiteur1", "visiteur2", "visiteur3", "visiteur4"};
                
                public void readFromNBT(NBTTagCompound nbtTag)
                {
                super.readFromNBT(nbtTag);
                for(int i = 0; i < 5; i++)
                {
                visiteur* = nbtTag.getString("visiteur" + i);
                }
                }
                
                public void writeToNBT(NBTTagCompound nbtTag)
                {
                super.writeToNBT(nbtTag);
                for(int i = 0; i < 5; i++)
                {
                nbtTag.setString("visiteur" + i, visiteur*);
                }
                }
                
                public String getPlayerList()
                {
                return visiteur[0] + ", " + visiteur[1] + ", " + visiteur[2] + ", " + visiteur[3] + ", " + visiteur[4] + ", ";
                }
                public void addplayertolist(String playerName)
                {
                if(!visiteur[0].equals(playerName))
                {
                for(int i = 3; i >= 0; i–)
                {
                visiteur _= visiteur*;
                }
                visiteur[0] = playerName;
                }
                worldObj.notifyBlockChange(xCoord, yCoord, zCoord, modMineKingdomHearts.blockTest);
                }
                }
                ```_
                1 réponse Dernière réponse Répondre Citer 0
                • jglrxavpokJ Hors-ligne
                  jglrxavpok Modérateurs
                  dernière édition par

                  Utilise les balises [java*][/java*] (sans les *) pour insérer du code

                  Sinon, es-tu sûr d’enregistrer ta TileEntity correctement ?

                  Modérateur sur MFF. 
                  Mon Github: http://github.com/jglrxavpok
                  Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                    @‘jglrxavpok’:

                    Utilise les balises [java*][/java*] (sans les *) pour insérer du code

                    Sinon, es-tu sûr d’enregistrer ta TileEntity correctement ?

                    voilà ma classe principale et merci de ta réponse ^^

                    package mods.maxiworldcraft.mineKingdomHeartsmod.common;

                    import java.awt.Color;
                    
                    import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.item.Item;
                    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.registry.EntityRegistry;
                    import cpw.mods.fml.common.registry.GameRegistry;
                    
                    @Mod(modid = modMineKingdomHearts.MODID, name = "Mod MineKingdom Hearts", version = "1.0")
                    
                    public class modMineKingdomHearts
                    {
                    
                    public static final String MODID = "modminekingdomhearts";
                    
                    public static Item itemCIN1;
                    public static Item itemCIN2;
                    public static Item itemCIN3;
                    public static Item itemCIN4;
                    public static Item itemCIN5;
                    
                    public static Block blockTest;
                    
                    @Instance("MODID")
                    
                    public static modMineKingdomHearts instance;
                    public static CreativeTabs mineKingdomHeartsCreativeTabs = new mineKingdomHeartsCreativeTabs("MineKingdom Hearts");
                    
                    @SidedProxy(clientSide = "mods.maxiworldcraft.mineKingdomHeartsmod.client.modMineKingdomHeartsClientProxy", serverSide = "mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy")
                    public static modMineKingdomHeartsCommonProxy proxy;
                    
                    @EventHandler
                    public void preInit(FMLPreInitializationEvent event)
                    {
                    
                    itemCIN1 = new itemCIN1().setMaxStackSize(1).setUnlocalizedName("itemCIN1").setTextureName(modMineKingdomHearts.MODID + ":itemCIN1");
                    GameRegistry.registerItem(itemCIN1, "itemCIN1");
                    
                    itemCIN2 = new itemCIN2().setMaxStackSize(1).setUnlocalizedName("itemCIN2").setTextureName(modMineKingdomHearts.MODID + ":itemCIN2");
                    GameRegistry.registerItem(itemCIN2, "itemCIN2");
                    
                    itemCIN3 = new itemCIN3().setMaxStackSize(1).setUnlocalizedName("itemCIN3").setTextureName(modMineKingdomHearts.MODID + ":itemCIN3");
                    GameRegistry.registerItem(itemCIN3, "itemCIN3");
                    
                    itemCIN4 = new itemCIN4().setMaxStackSize(1).setUnlocalizedName("itemCIN4").setTextureName(modMineKingdomHearts.MODID + ":itemCIN4");
                    GameRegistry.registerItem(itemCIN4, "itemCIN4");
                    
                    itemCIN5 = new itemCIN5().setMaxStackSize(1).setUnlocalizedName("itemCIN5").setTextureName(modMineKingdomHearts.MODID + ":itemCIN5");
                    GameRegistry.registerItem(itemCIN5, "itemCIN5");
                    
                    blockTest = new BlockTest(Material.rock).setCreativeTab(modMineKingdomHearts.mineKingdomHeartsCreativeTabs).setBlockName("blockTest").setBlockTextureName(modMineKingdomHearts.MODID + ":blockTest");
                    GameRegistry.registerBlock(blockTest, "blockTest");
                    
                    }
                    
                    @EventHandler
                    public void init(FMLInitializationEvent event)
                    {
                    proxy.registerRenderer();
                    proxy.registerTileEntityRender();
                    
                    EntityRegistry.registerGlobalEntityID(EntityEffrayeur.class, "effrayeur", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 0, 0).getRGB(), new Color(0, 0, 0).getRGB());
                    EntityRegistry.registerModEntity(EntityEffrayeur.class, "effrayeur", 410, this, 40, 1, true);
                    
                    EntityRegistry.registerGlobalEntityID(EntityHayner.class, "hayner", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                    EntityRegistry.registerModEntity(EntityHayner.class, "hayner", 411, this, 40, 1, true);
                    
                    EntityRegistry.registerGlobalEntityID(EntityPence.class, "pence", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                    EntityRegistry.registerModEntity(EntityPence.class, "pence", 412, this, 40, 1, true);
                    
                    EntityRegistry.registerGlobalEntityID(EntityOlette.class, "olette", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                    EntityRegistry.registerModEntity(EntityOlette.class, "olette", 413, this, 40, 1, true);
                    
                    EntityRegistry.registerGlobalEntityID(EntitySeifer.class, "seifer", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                    EntityRegistry.registerModEntity(EntitySeifer.class, "seifer", 414, this, 40, 1, true);
                    
                    EntityRegistry.registerGlobalEntityID(EntityRei.class, "rei", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                    EntityRegistry.registerModEntity(EntityRei.class, "rei", 415, this, 40, 1, true);
                    
                    EntityRegistry.registerGlobalEntityID(EntityFuu.class, "fuu", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                    EntityRegistry.registerModEntity(EntityFuu.class, "fuu", 416, this, 40, 1, true);
                    
                    GameRegistry.registerTileEntity(TileEntityTest.class, "test");
                    
                    }
                    
                    @EventHandler
                    public void postInit(FMLPostInitializationEvent event)
                    {
                    
                    }
                    }
                    

                    Sinon as-tu besoin de ma class ClientProxy?

                    Sinon je ne comprends pas ce que tu me dire à propos des balises? tu parles de ces slash pour les commentaires?

                    //quelque chose

                    Tiens au cas où mon client proxy où j’ai déclaré mon TileEntity pour mon TESR

                    package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                    
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityEffrayeur;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityFuu;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityHayner;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityOlette;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityPence;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityRei;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySeifer;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                    import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                    import net.minecraft.client.model.ModelBiped;
                    import cpw.mods.fml.client.registry.ClientRegistry;
                    import cpw.mods.fml.client.registry.RenderingRegistry;
                    
                    public class modMineKingdomHeartsClientProxy extends modMineKingdomHeartsCommonProxy
                    {
                    public static int renderInventoryTESRId;;
                    
                    @Override
                    
                    public void registerRenderer()
                    {
                    System.out.println("Salut je suis un test du client");
                    
                    RenderingRegistry.registerEntityRenderingHandler(EntityEffrayeur.class, new RenderEffrayeur(new ModelBiped(), 0.1F));
                    RenderingRegistry.registerEntityRenderingHandler(EntityHayner.class, new RenderHayner(new ModelBiped(), 0.5F));
                    RenderingRegistry.registerEntityRenderingHandler(EntityPence.class, new RenderPence(new ModelBiped(), 0.5F));
                    RenderingRegistry.registerEntityRenderingHandler(EntityOlette.class, new RenderOlette(new ModelBiped(), 0.5F));
                    RenderingRegistry.registerEntityRenderingHandler(EntitySeifer.class, new RenderSeifer(new ModelBiped(), 0.5F));
                    RenderingRegistry.registerEntityRenderingHandler(EntityRei.class, new RenderRei(new ModelBiped(), 0.5F));
                    RenderingRegistry.registerEntityRenderingHandler(EntityFuu.class, new RenderFuu(new ModelBiped(), 0.5F));
                    
                    renderInventoryTESRId = RenderingRegistry.getNextAvailableRenderId();
                    RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());
                    
                    }
                    public void registerTileEntityRender()
                    {
                    
                    ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTest.class, new TileEntityTestSpecialRenderer());
                    
                    }
                    }
                    
                    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

                      Ton tile entity special render devrait être comme ça :

                      package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                      
                      import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                      import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                      import net.minecraft.tileentity.TileEntity;
                      
                      import org.jglrxavpok.glutils.TessellatorModel;
                      import org.lwjgl.opengl.GL11;
                      
                      public class TileEntityTestSpecialRenderer extends TileEntitySpecialRenderer implements IInventoryRenderer
                      {
                      
                      private TessellatorModel glmodel;
                      
                      public TileEntityTestSpecialRenderer()
                      {
                      glmodel = new TessellatorModel("/assets/obj/Yoshi.obj");
                      glmodel.regenerateNormals();
                      }
                      
                      @Override
                      public void renderTileEntityAt(TileEntity tileentity, double d0, double d1, double d2, float f)
                      {
                      this.renderTileEntityTestAt((TileEntityTest)te, x, y, z, tick);
                      }
                      
                      public void renderInventory(double x, double y, double z)
                      {
                      this.renderTileEntityTestAt(null, x, y, z, 0.0F);
                      }
                      
                      public void renderTileEntityTestAt(TileEntityTest te, double x, double y, double z, float tick)
                      {
                      GL11.glPushMatrix();
                      GL11.glTranslated(x + 0.5, y, z +0.5);
                      // GL11.glScaled(0.01, 0.01, 0.01); J'ai pas compris pourquoi tu as réduit ton modèle ?
                      GL11.glShadeModel(GL11.GL_SMOOTH);
                      glmodel.render();
                      GL11.glPopMatrix();
                      }
                      }
                      

                      Aussi dans ton tile entity, tu n’es pas obligé de remettre toutes les fonctions donnés dans le tutoriel sur les tile entity, c’est juste un exemple d’utilisation.
                      Il ne faut pas copier bêtement les codes, il faut aussi lire les explications !

                      ÉDIT : les balises c’est ça :

                      public String = "exemple de la balise java";
                      

                      il faut faire ça :

                      ```java
                      public String = "exemple de la balise java";
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • DeletedD Hors-ligne
                        Deleted
                        dernière édition par

                        @‘robin4002’:

                        Ton tile entity special render devrait être comme ça :

                        package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                        
                        import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                        import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                        import net.minecraft.tileentity.TileEntity;
                        
                        import org.jglrxavpok.glutils.TessellatorModel;
                        import org.lwjgl.opengl.GL11;
                        
                        public class TileEntityTestSpecialRenderer extends TileEntitySpecialRenderer implements IInventoryRenderer
                        
                        {
                        
                        private TessellatorModel glmodel;
                        
                        public TileEntityTestSpecialRenderer()
                        {
                        glmodel = new TessellatorModel("/assets/obj/Yoshi.obj");
                        glmodel.regenerateNormals();
                        }
                        
                        @Override
                        public void renderTileEntityAt(TileEntity tileentity, double d0, double d1, double d2, float f)
                        {
                        this.renderTileEntityTestAt((TileEntityTest)te, x, y, z, tick);
                        }
                        
                        public void renderInventory(double x, double y, double z)
                        {
                        this.renderTileEntityTestAt(null, x, y, z, 0.0F);
                        }
                        
                        public void renderTileEntityTestAt(TileEntityTest te, double x, double y, double z, float tick)
                        {
                        GL11.glPushMatrix();
                        GL11.glTranslated(x + 0.5, y, z +0.5);
                        // GL11.glScaled(0.01, 0.01, 0.01); J'ai pas compris pourquoi tu as réduit ton modèle ?
                        GL11.glShadeModel(GL11.GL_SMOOTH);
                        glmodel.render();
                        GL11.glPopMatrix();
                        }
                        }
                        

                        Aussi dans ton tile entity, tu n’es pas obligé de remettre toutes les fonctions donnés dans le tutoriel sur les tile entity, c’est juste un exemple d’utilisation.
                        Il ne faut pas copier bêtement les codes, il faut aussi lire les explications !

                        Merci Robin je sais bien mais j’ai quand même lu mais en 1.7 il y avait quelque erreur et pour être sur d’en avoir un minimum j’ai pris tes fonctions que je comptais enlever après que mon tesr marche.
                        Mais il y a un problème car après avoir pris ton code cela ne marche toujours pas plz help

                        EDIT = après remarque on n’a besoin d’aucune fonction de base dans notre tileentity du coup j’ai retiré toutes celles de ton tuto sur çà Robin

                        EDIT = Après avoir vaguement regardé quelque réponse j’ai l’impression que tous le monde a corrigé cette erreur de transparence en mettant ceci dans la méthode render du modèle :

                        
                        Shape1.render(f5);
                        Shape2.render(f5);
                        Shape3.render(f5);
                        
                        

                        Mais, le problème c’est que je n’ai pas de modèle puisque je fais avec GLUtils donc…éclairez moi svp

                        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

                          Dans ton client proxy il te manque la ligne :
                          TESRInventoryRenderer.blockByTESR.put(new TESRIndex(ClassePrincipale.leBlock, 0), new TileEntityTestSpecialRenderer());
                          Je peux aussi avoir la classe de ton bloc ?

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

                            @‘robin4002’:

                            Dans ton client proxy il te manque la ligne :
                            TESRInventoryRenderer.blockByTESR.put(new TESRIndex(ClassePrincipale.leBlock, 0), new TileEntityTestSpecialRenderer());
                            Je peux aussi avoir la classe de ton bloc ?

                            Tout de suite

                            
                            package mods.maxiworldcraft.mineKingdomHeartsmod.common;
                            
                            import mods.maxiworldcraft.mineKingdomHeartsmod.client.modMineKingdomHeartsClientProxy;
                            import net.minecraft.block.BlockContainer;
                            import net.minecraft.block.material.Material;
                            import net.minecraft.entity.Entity;
                            import net.minecraft.entity.player.EntityPlayer;
                            import net.minecraft.tileentity.TileEntity;
                            import net.minecraft.world.World;
                            import cpw.mods.fml.relauncher.Side;
                            import cpw.mods.fml.relauncher.SideOnly;
                            
                            public class BlockTest extends BlockContainer
                            {
                            
                            protected BlockTest(Material material) {
                            
                            super(material);
                            // TODO Auto-generated constructor stub
                            }
                            
                            @Override
                            public TileEntity createNewTileEntity(World var1, int var2)
                            {
                            
                            return new TileEntityTest();
                            }
                            public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
                            {
                            return false;
                            
                            }
                            
                            public boolean renderAsNormalBlock()
                            {
                            return false;
                            }
                            
                            public boolean isOpaqueCube()
                            {
                            return false;
                            }
                            
                            @SideOnly(Side.CLIENT)
                            public int getRenderType()
                            {
                            return modMineKingdomHeartsClientProxy.renderInventoryTESRId;
                            }
                            }
                            
                            

                            EDIT = Mon block ne possède pas de métadatas pour info

                            J’avoue avoir un peu de mal sur la fin du tutoriel sur le rendu en main le ISBRH voici ma class TESRInventoryRenderer et ma classe TESRIndex pour info rien n’a change le block est toujours transparent…

                            
                            package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                            
                            import java.util.HashMap;
                            
                            import net.minecraft.block.Block;
                            import net.minecraft.client.renderer.RenderBlocks;
                            import net.minecraft.world.IBlockAccess;
                            import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
                            
                            public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler
                            
                            {
                            public static HashMap <tesrindex, iinventoryrenderer="">blockByTESR = new HashMap<tesrindex, iinventoryrenderer="">();
                            
                            @Override
                            public void renderInventoryBlock(Block block, int metadata, int modelId,
                            RenderBlocks renderer) {
                            // TODO Auto-generated method stub
                            
                            }
                            
                            @Override
                            public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z,
                            Block block, int modelId, RenderBlocks renderer) {
                            // TODO Auto-generated method stub
                            return false;
                            }
                            
                            @Override
                            public boolean shouldRender3DInInventory(int modelId) {
                            // TODO Auto-generated method stub
                            return false;
                            }
                            
                            @Override
                            public int getRenderId() {
                            // TODO Auto-generated method stub
                            return 0;
                            }
                            
                            }
                            
                            

                            ma class TESRIndex

                            
                            package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                            
                            import net.minecraft.block.Block;
                            
                            public class TESRIndex {
                            
                            public TESRIndex(Block blockTest, int i)
                            {
                            
                            }
                            
                            }
                            
                            

                            Je sais qu’il me manque de méthode mais lorsque je les rajoute il y a des fields à créer et je n’en suis pas trop sûr enfin bref ces codes

                            
                            public TESRIndex(Block block, int metadata)
                            {
                            this.block = block;
                            this.metadata = metadata;
                            }
                            
                            @Override
                            public int hashCode()
                            {
                            return block.hashCode() + metadata;
                            }
                            
                            @Override
                            public boolean equals(Object o)
                            {
                            if(!(o instanceof TESRIndex))
                            return false;
                            
                            TESRIndex tesr = (TESRIndex)o;
                            
                            return tesr.block == block && tesr.metadata == metadata;
                            }
                            }
                            
                            

                            ne conviennent pas à eclipse je recherche toujours une solution et de l’aide plz</tesrindex,></tesrindex,>

                            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

                              Actuellement le rendu dans le monde fonctionne, c’est juste l’inventaire qui manque non ?
                              Car la ton code est fonctionnel pour le rendu dans le monde, mais pas pour dans l’inventaire.

                              package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                              
                              import java.util.HashMap;
                              
                              import net.minecraft.block.Block;
                              import net.minecraft.client.renderer.RenderBlocks;
                              import net.minecraft.world.IBlockAccess;
                              import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
                              
                              public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler
                              {
                              public static HashMap <tesrindex, iinventoryrenderer="">blockByTESR = new HashMap<tesrindex, iinventoryrenderer="">();
                              
                              @Override
                              public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
                              {
                              InventoryTESRIndex index = new InventoryTESRIndex(block, metadata);
                              if(blockByTESR.containsKey(index))
                              {
                              blockByTESR.get(index).renderInventory(-0.5, -0.5, -0.5);
                              }
                              }
                              
                              @Override
                              public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
                              {
                              return true;
                              }
                              
                              @Override
                              public boolean shouldRender3DInInventory(int modelId)
                              {
                              return true;
                              }
                              
                              @Override
                              public int getRenderId()
                              {
                              return modMineKingdomHeartsClientProxy.tesrRenderId;
                              }
                              }
                              

                              ma class TESRIndex

                              package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                              
                              import net.minecraft.block.Block;
                              
                              public class TESRIndex {
                              
                              public final Block block;
                              public final int metadata;
                              
                              public InventoryTESRIndex(Block block, int metadata)
                              {
                              this.block = block;
                              this.metadata = metadata;
                              }
                              
                              @Override
                              public int hashCode()
                              {
                              return block.hashCode() + this.metadata;
                              }
                              
                              @Override
                              public boolean equals(Object o)
                              {
                              if(!(o instanceof InventoryTESRIndex))
                              return false;
                              
                              InventoryTESRIndex tesr = (InventoryTESRIndex)o;
                              
                              return tesr.block == this.block && tesr.metadata == this.metadata;
                              }
                              
                              public Block getBlock()
                              {
                              return block;
                              }
                              
                              public int getBlockMetadata()
                              {
                              return metadata;
                              }
                              }
                              

                              Comme ça les classes.</tesrindex,></tesrindex,>

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

                                @‘robin4002’:

                                Actuellement le rendu dans le monde fonctionne, c’est juste l’inventaire qui manque non ?
                                Car la ton code est fonctionnel pour le rendu dans le monde, mais pas pour dans l’inventaire.

                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                import java.util.HashMap;
                                
                                import net.minecraft.block.Block;
                                import net.minecraft.client.renderer.RenderBlocks;
                                import net.minecraft.world.IBlockAccess;
                                import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
                                
                                public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler
                                {
                                public static HashMap <tesrindex, iinventoryrenderer="">blockByTESR = new HashMap<tesrindex, iinventoryrenderer="">();
                                
                                @Override
                                public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
                                {
                                InventoryTESRIndex index = new InventoryTESRIndex(block, metadata);
                                if(blockByTESR.containsKey(index))
                                {
                                blockByTESR.get(index).renderInventory(-0.5, -0.5, -0.5);
                                }
                                }
                                
                                @Override
                                public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
                                {
                                return true;
                                }
                                
                                @Override
                                public boolean shouldRender3DInInventory(int modelId)
                                {
                                return true;
                                }
                                
                                @Override
                                public int getRenderId()
                                {
                                return modMineKingdomHeartsClientProxy.tesrRenderId;
                                }
                                }
                                

                                ma class TESRIndex

                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                import net.minecraft.block.Block;
                                
                                public class TESRIndex {
                                
                                public final Block block;
                                public final int metadata;
                                
                                public InventoryTESRIndex(Block block, int metadata)
                                {
                                this.block = block;
                                this.metadata = metadata;
                                }
                                
                                @Override
                                public int hashCode()
                                {
                                return block.hashCode() + this.metadata;
                                }
                                
                                @Override
                                public boolean equals(Object o)
                                {
                                if(!(o instanceof InventoryTESRIndex))
                                return false;
                                
                                InventoryTESRIndex tesr = (InventoryTESRIndex)o;
                                
                                return tesr.block == this.block && tesr.metadata == this.metadata;
                                }
                                
                                public Block getBlock()
                                {
                                return block;
                                }
                                
                                public int getBlockMetadata()
                                {
                                return metadata;
                                }
                                }
                                

                                Comme ça les classes.</tesrindex,></tesrindex,>

                                Merci de ta réponse je vais alors voir pour le rendu dans l’inventaire et je te tiens au courant pour l’affichage de Yoshi dans le monde

                                Non c’est très étrange car maintenant la texture du block en inventaire est invisible tout comme toujours, le rendu du block dans le monde. J’ai pourtant bien mis le .obj dans assets/obj mais j’ai négligé et n’ai pas mis le .mlt car je ne savais pas où le mettre pareil pour les textures tout est à balancer dans assets/obj ???C’est ça la cause j’imagine?

                                EDIT = J’ai pourtant tout le contenu du .zip du model 3d de Yoshi dans assets/obj rien n’y fait tout reste invisible : rendu du block dans le monde block qui est toujours sur un model de 16x16 je le vois grâce à son encadré noir, et l’item dans la main ou dans l’inventaire INVISIBLE
                                Une solution plz?

                                Peut-être que si je te redonne toutes mes classes t’y verras plus clair car là je te les ai un peu éparpillées partout sur le fofo ^^

                                La class principale

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.common;
                                
                                import java.awt.Color;
                                
                                import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                                import net.minecraft.block.Block;
                                import net.minecraft.block.material.Material;
                                import net.minecraft.creativetab.CreativeTabs;
                                import net.minecraft.item.Item;
                                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.registry.EntityRegistry;
                                import cpw.mods.fml.common.registry.GameRegistry;
                                
                                @Mod(modid = modMineKingdomHearts.MODID, name = "Mod MineKingdom Hearts", version = "1.0")
                                
                                public class modMineKingdomHearts
                                {
                                
                                public static final String MODID = "modminekingdomhearts";
                                
                                public static Item itemCIN1;
                                public static Item itemCIN2;
                                public static Item itemCIN3;
                                public static Item itemCIN4;
                                public static Item itemCIN5;
                                
                                public static Block blockTest;
                                
                                @Instance("MODID")
                                
                                public static modMineKingdomHearts instance;
                                public static CreativeTabs mineKingdomHeartsCreativeTabs = new mineKingdomHeartsCreativeTabs("MineKingdom Hearts");
                                
                                @SidedProxy(clientSide = "mods.maxiworldcraft.mineKingdomHeartsmod.client.modMineKingdomHeartsClientProxy", serverSide = "mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy")
                                public static modMineKingdomHeartsCommonProxy proxy;
                                
                                @EventHandler
                                public void preInit(FMLPreInitializationEvent event)
                                {
                                
                                itemCIN1 = new itemCIN1().setMaxStackSize(1).setUnlocalizedName("itemCIN1").setTextureName(modMineKingdomHearts.MODID + ":itemCIN1");
                                GameRegistry.registerItem(itemCIN1, "itemCIN1");
                                
                                itemCIN2 = new itemCIN2().setMaxStackSize(1).setUnlocalizedName("itemCIN2").setTextureName(modMineKingdomHearts.MODID + ":itemCIN2");
                                GameRegistry.registerItem(itemCIN2, "itemCIN2");
                                
                                itemCIN3 = new itemCIN3().setMaxStackSize(1).setUnlocalizedName("itemCIN3").setTextureName(modMineKingdomHearts.MODID + ":itemCIN3");
                                GameRegistry.registerItem(itemCIN3, "itemCIN3");
                                
                                itemCIN4 = new itemCIN4().setMaxStackSize(1).setUnlocalizedName("itemCIN4").setTextureName(modMineKingdomHearts.MODID + ":itemCIN4");
                                GameRegistry.registerItem(itemCIN4, "itemCIN4");
                                
                                itemCIN5 = new itemCIN5().setMaxStackSize(1).setUnlocalizedName("itemCIN5").setTextureName(modMineKingdomHearts.MODID + ":itemCIN5");
                                GameRegistry.registerItem(itemCIN5, "itemCIN5");
                                
                                blockTest = new BlockTest(Material.rock).setCreativeTab(modMineKingdomHearts.mineKingdomHeartsCreativeTabs).setBlockName("blockTest").setBlockTextureName(modMineKingdomHearts.MODID + ":blockTest");
                                GameRegistry.registerBlock(blockTest, "blockTest");
                                
                                }
                                
                                @EventHandler
                                public void init(FMLInitializationEvent event)
                                {
                                proxy.registerRenderer();
                                proxy.registerTileEntityRender();
                                
                                EntityRegistry.registerGlobalEntityID(EntityEffrayeur.class, "effrayeur", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 0, 0).getRGB(), new Color(0, 0, 0).getRGB());
                                EntityRegistry.registerModEntity(EntityEffrayeur.class, "effrayeur", 410, this, 40, 1, true);
                                
                                EntityRegistry.registerGlobalEntityID(EntityHayner.class, "hayner", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                EntityRegistry.registerModEntity(EntityHayner.class, "hayner", 411, this, 40, 1, true);
                                
                                EntityRegistry.registerGlobalEntityID(EntityPence.class, "pence", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                EntityRegistry.registerModEntity(EntityPence.class, "pence", 412, this, 40, 1, true);
                                
                                EntityRegistry.registerGlobalEntityID(EntityOlette.class, "olette", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                EntityRegistry.registerModEntity(EntityOlette.class, "olette", 413, this, 40, 1, true);
                                
                                EntityRegistry.registerGlobalEntityID(EntitySeifer.class, "seifer", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                EntityRegistry.registerModEntity(EntitySeifer.class, "seifer", 414, this, 40, 1, true);
                                
                                EntityRegistry.registerGlobalEntityID(EntityRei.class, "rei", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                EntityRegistry.registerModEntity(EntityRei.class, "rei", 415, this, 40, 1, true);
                                
                                EntityRegistry.registerGlobalEntityID(EntityFuu.class, "fuu", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                EntityRegistry.registerModEntity(EntityFuu.class, "fuu", 416, this, 40, 1, true);
                                
                                GameRegistry.registerTileEntity(TileEntityTest.class, "test");
                                
                                }
                                
                                @EventHandler
                                public void postInit(FMLPostInitializationEvent event)
                                {
                                
                                }
                                
                                }
                                
                                

                                Le client proxy

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityEffrayeur;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityFuu;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityHayner;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityOlette;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityPence;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityRei;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySeifer;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.modMineKingdomHearts;
                                import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                                import net.minecraft.client.model.ModelBiped;
                                import cpw.mods.fml.client.registry.ClientRegistry;
                                import cpw.mods.fml.client.registry.RenderingRegistry;
                                
                                public class modMineKingdomHeartsClientProxy extends modMineKingdomHeartsCommonProxy
                                {
                                public static int renderInventoryTESRId;;
                                
                                @Override
                                
                                public void registerRenderer()
                                {
                                System.out.println("Salut je suis un test du client");
                                
                                RenderingRegistry.registerEntityRenderingHandler(EntityEffrayeur.class, new RenderEffrayeur(new ModelBiped(), 0.1F));
                                RenderingRegistry.registerEntityRenderingHandler(EntityHayner.class, new RenderHayner(new ModelBiped(), 0.5F));
                                RenderingRegistry.registerEntityRenderingHandler(EntityPence.class, new RenderPence(new ModelBiped(), 0.5F));
                                RenderingRegistry.registerEntityRenderingHandler(EntityOlette.class, new RenderOlette(new ModelBiped(), 0.5F));
                                RenderingRegistry.registerEntityRenderingHandler(EntitySeifer.class, new RenderSeifer(new ModelBiped(), 0.5F));
                                RenderingRegistry.registerEntityRenderingHandler(EntityRei.class, new RenderRei(new ModelBiped(), 0.5F));
                                RenderingRegistry.registerEntityRenderingHandler(EntityFuu.class, new RenderFuu(new ModelBiped(), 0.5F));
                                
                                renderInventoryTESRId = RenderingRegistry.getNextAvailableRenderId();
                                RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());
                                
                                }
                                public void registerTileEntityRender()
                                {
                                
                                ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTest.class, new TileEntityTestSpecialRenderer());
                                TESRInventoryRenderer.blockByTESR.put(new TESRIndex(modMineKingdomHearts.blockTest, 0), new TileEntityTestSpecialRenderer());
                                
                                }
                                }
                                
                                

                                La class du block

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.common;
                                
                                import mods.maxiworldcraft.mineKingdomHeartsmod.client.modMineKingdomHeartsClientProxy;
                                import net.minecraft.block.BlockContainer;
                                import net.minecraft.block.material.Material;
                                import net.minecraft.entity.Entity;
                                import net.minecraft.entity.player.EntityPlayer;
                                import net.minecraft.tileentity.TileEntity;
                                import net.minecraft.world.World;
                                import cpw.mods.fml.relauncher.Side;
                                import cpw.mods.fml.relauncher.SideOnly;
                                
                                public class BlockTest extends BlockContainer
                                {
                                
                                protected BlockTest(Material material) {
                                
                                super(material);
                                // TODO Auto-generated constructor stub
                                }
                                
                                @Override
                                public TileEntity createNewTileEntity(World var1, int var2)
                                {
                                
                                return new TileEntityTest();
                                }
                                public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
                                {
                                return false;
                                
                                }
                                
                                public boolean renderAsNormalBlock()
                                {
                                return false;
                                }
                                
                                public boolean isOpaqueCube()
                                {
                                return false;
                                }
                                
                                @SideOnly(Side.CLIENT)
                                public int getRenderType()
                                {
                                return modMineKingdomHeartsClientProxy.renderInventoryTESRId;
                                }
                                }
                                
                                

                                La class TileEntity

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.common;
                                
                                import net.minecraft.nbt.NBTTagCompound;
                                import net.minecraft.tileentity.TileEntity;
                                
                                public class TileEntityTest extends TileEntity
                                {
                                }
                                
                                

                                La class TESR

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                                import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                                import net.minecraft.tileentity.TileEntity;
                                
                                import org.jglrxavpok.glutils.TessellatorModel;
                                import org.lwjgl.opengl.GL11;
                                
                                public class TileEntityTestSpecialRenderer extends TileEntitySpecialRenderer implements IInventoryRenderer
                                {
                                
                                private TessellatorModel glmodel;
                                
                                public TileEntityTestSpecialRenderer()
                                {
                                glmodel = new TessellatorModel("/assets/obj/Yoshi.obj");
                                glmodel.regenerateNormals();
                                }
                                
                                @Override
                                public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float scale)
                                {
                                this.renderTileEntityTestAt((TileEntityTest)tileentity, x, y, z, scale);
                                GL11.glPushMatrix();
                                GL11.glTranslated(x+0.5, y, z+0.5);
                                GL11.glScaled(0.01, 0.01, 0.01);
                                glmodel.render();
                                GL11.glPopMatrix();
                                GL11.glShadeModel(GL11.GL_SMOOTH);
                                }
                                
                                public void renderTileEntityTestAt(TileEntityTest tileentity, double x, double y, double z, float scale)
                                {
                                
                                }
                                
                                @Override
                                public void renderInventory(double x, double y, double z) {
                                // TODO Auto-generated method stub
                                
                                }
                                }
                                
                                

                                La class IInventoryRenderer

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                public interface IInventoryRenderer
                                {
                                public void renderInventory(double x, double y, double z);
                                }
                                
                                

                                La class TESRInventoryRenderer

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                import java.util.HashMap;
                                
                                import net.minecraft.block.Block;
                                import net.minecraft.client.renderer.RenderBlocks;
                                import net.minecraft.world.IBlockAccess;
                                import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
                                
                                public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler
                                {
                                public static HashMap <tesrindex, iinventoryrenderer="">blockByTESR = new HashMap<tesrindex, iinventoryrenderer="">();
                                
                                @Override
                                public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
                                {
                                TESRIndex index = new TESRIndex(block, metadata);
                                if(blockByTESR.containsKey(index))
                                {
                                blockByTESR.get(index).renderInventory(-0.5, -0.5, -0.5);
                                }
                                }
                                
                                @Override
                                public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
                                {
                                return true;
                                }
                                
                                @Override
                                public boolean shouldRender3DInInventory(int modelId)
                                {
                                return true;
                                }
                                
                                @Override
                                public int getRenderId()
                                {
                                return modMineKingdomHeartsClientProxy.renderInventoryTESRId;
                                }
                                }
                                
                                

                                Et enfin la class TESRIndex

                                
                                package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                
                                import net.minecraft.block.Block;
                                
                                public class TESRIndex {
                                
                                public final Block block;
                                public final int metadata;
                                
                                public TESRIndex(Block block, int metadata)
                                {
                                this.block = block;
                                this.metadata = metadata;
                                }
                                
                                @Override
                                public int hashCode()
                                {
                                return block.hashCode() + this.metadata;
                                }
                                
                                @Override
                                public boolean equals(Object o)
                                {
                                if(!(o instanceof TESRIndex))
                                return false;
                                
                                TESRIndex tesr = (TESRIndex)o;
                                
                                return tesr.block == this.block && tesr.metadata == this.metadata;
                                }
                                
                                public Block getBlock()
                                {
                                return block;
                                }
                                
                                public int getBlockMetadata()
                                {
                                return metadata;
                                }
                                }
                                
                                

                                Plz avec toutes mes class que quelqu’un arrive à résoudre mon problème mon Yoshi qui est normalement bien codé est invisible tout comme son block dans la main ou dans l’inventaire Plz Help Me</tesrindex,></tesrindex,>

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

                                  UP SVP c’est assez urgent j’ai posté toutes mes .java y’à bien quelqu’un qui devrez y voir plus clair maintenant surtout pour ceux ayant déjà réussi ce tuto plz jglrxavpok ou quelqu’un d’autre ???

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

                                    Tu fais chercher le modèle dans /assets/obj/ alors qu’il est dans /assets/tonmod/obj/, à corriger

                                    Modérateur sur MFF. 
                                    Mon Github: http://github.com/jglrxavpok
                                    Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                                    1 réponse Dernière réponse Répondre Citer 2
                                    • DeletedD Hors-ligne
                                      Deleted
                                      dernière édition par

                                      @‘jglrxavpok’:

                                      Tu fais chercher le modèle dans /assets/obj/ alors qu’il est dans /assets/tonmod/obj/, à corriger

                                      Oh pu*** ça marche enfin yes Yoshi dans minecraft oh je t’adore jglrxavpok mais encore un petit problème le renderInventory ne marche point??

                                      EDIT = Petit bug pour la texture sur certaine partie du visage, comme pourrais-je le corriger j’ai déjà mis

                                      
                                      GL11.glShadeModel(GL11.GL_SMOOTH);
                                      
                                      model.regenerateNormals();
                                      
                                      

                                      Up Une idée pour le IInventoryRenderer les .java sont identiques à ce qu’il faudrait et pourtant ça ne marche pas plz et pour les ombres pourtant ça aussi ça semble être bon mais mon yoshi a des ombres en trop plz

                                      EDIT = Regarder ce screen de mon nouveau model les ombres sont bien plus flagrantes

                                      UP UP quelqu’un peut-il m’aider pour retirer ces ombres j’ai essayé de changé quelque valeurs mais rien n’y fait help plz

                                      Up Up svp jglrxavpok tu n’as pas une idée ou même un code pour faire disparaître totalemet ces ombres et j’ai retiré le code

                                      
                                      GL11.glShadeModel(GL11.GL_SMOOTH);
                                      
                                      

                                      Et à ma grande surprise le model est resté le même

                                      Sinon pour IInventoryRender aucune idée Robin ou même quelqu’un d’autre 😞 ?

                                      Je up toujours mais cette fois-ci je n’ai pas trop compris pour créer un mob j’ai regardédans le RenderPig et RenderCow et je ne vois pas grand chose qui m’inspire peut-tu m’éclaircir jglrxavpok??

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

                                        @‘jglrxavpok’:

                                        @‘ZeAmateis’:

                                        Comment faire avec un mob ? Pour appliquer ce genre de model.obj à un mob ? Est-ce lourd pour minecraft ?

                                        Pour un mob, utilise un render et appelle la méthode render() du model dans renderEntity() du render.
                                        (Pour les renders, une petite partie est expliquée ici)
                                        Pour le poids, tout dépend du model.

                                        Je comprends bien pour appeler la méthode render() du model de mon mob mais il faut l’appeler dans RenderEntity du Render euh what? RenderEntity c’est une méthode si oui je ne la trouve pas ? faut-il la créer et comment plz help?

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

                                          Up toujours aucune idée les gens ? Sinon pour les ombres je pense que c’est dû à mon model sinon pour le IInventoryRenderer je vais relire entièrement et soigneusement le tuto sur les TESR et si y’a du nouveau je vous tiendrai au courant ^^

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

                                            @‘Julot10085’:

                                            @‘jglrxavpok’:

                                            @‘ZeAmateis’:

                                            Comment faire avec un mob ? Pour appliquer ce genre de model.obj à un mob ? Est-ce lourd pour minecraft ?

                                            Pour un mob, utilise un render et appelle la méthode render() du model dans renderEntity() du render.
                                            (Pour les renders, une petite partie est expliquée ici)
                                            Pour le poids, tout dépend du model.

                                            Je comprends bien pour appeler la méthode render() du model de mon mob mais il faut l’appeler dans RenderEntity du Render euh what? RenderEntity c’est une méthode si oui je ne la trouve pas ? faut-il la créer et comment plz help?

                                            Regarde le tuto sur les entitées…

                                            Modérateur sur MFF. 
                                            Mon Github: http://github.com/jglrxavpok
                                            Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB