MFF

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

    Rendu de bloc TESR

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    43 Messages 3 Publieurs 9.6k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • FlowF Hors-ligne
      Flow
      dernière édition par

      Sa ne marche pas ou que je le place et si je le place après les autres GL11 etc sa scale la barrière en jeux et pas dans l’inventaire

      Oui ce gif est drôle.

      1 réponse Dernière réponse Répondre Citer 0
      • isadorI Hors-ligne
        isador Moddeurs confirmés Modérateurs
        dernière édition par

        Envoi ton code de rendu

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

          BarriereInventoryRenderer

          package mod.proxy;
          
          import java.util.HashMap;
          
          import org.lwjgl.opengl.GL11;
          
          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 BarriereInventoryRenderer implements ISimpleBlockRenderingHandler
          {
          public static class TESRIndex
          {
          Block block;
          int metadata;
          
          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;
          }
          }
          
          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;
          }
          
          public boolean shouldRender3DInInventory(int modelId)
          {
          return true;
          
          }
          
          @Override
          public int getRenderId()
          {
          return ClientProxy.renderInventoryBarriere;
          }
          
          }
          
          

          Celui-ci ?</tesrindex,></tesrindex,>

          Oui ce gif est drôle.

          1 réponse Dernière réponse Répondre Citer 0
          • isadorI Hors-ligne
            isador Moddeurs confirmés Modérateurs
            dernière édition par

            
            package mod.proxy;
            
            import java.util.HashMap;
            
            import org.lwjgl.opengl.GL11;
            
            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 BarriereInventoryRenderer implements ISimpleBlockRenderingHandler
            {
            public static class TESRIndex
            {
            Block block;
            int metadata;
            
            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;
            }
            }
            
            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);
            GL11.glScaled(0.5f, 0.5f, 0.5f);
            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;
            }
            
            public boolean shouldRender3DInInventory(int modelId)
            {
            return true;
            
            }
            
            @Override
            public int getRenderId()
            {
            return ClientProxy.renderInventoryBarriere;
            }
            
            }
            
            

            essaie avec ca</tesrindex,></tesrindex,>

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

              Ca dépasse toujours du cadre 😕

              Oui ce gif est drôle.

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

                Il y a rien a faire dans la classe BarriereInventoryRenderer.
                D’ailleurs ce nom n’est pas approprié, car comme je l’ai expliqué la classe implements ISimpleBlockRenderingHandler va servir pour tous les rendus en main des TESR.

                Il faudrait plutôt modifier TileEntityBarriereSpecialRender.

                @Override
                public void renderInventory(double x, double y, double z)
                {
                GL11.glPushMatrix();
                GL11.glScaled(1.0F, 0.5F, 1.0F);
                GL11.glTranslated(x + 0.5F, y + 1.5F, z + 0.5F);
                this.bindTexture(textureLocation);
                GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                this.model.render(0.0625F);
                GL11.glPopMatrix();
                }
                
                1 réponse Dernière réponse Répondre Citer 0
                • isadorI Hors-ligne
                  isador Moddeurs confirmés Modérateurs
                  dernière édition par

                  oui j’avais mal vu

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

                    Ca se réduit également mais il est toujours hors du cadre , mais il y a un énorme espace entre le bas de la case et le bas de la barrière , il y a moyen de bouger la barrière vers le bas ?

                    Oui ce gif est drôle.

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

                      Lance ton jeu en débug et “joue” avec cette ligne :
                      GL11.glTranslated(x + 0.5F, y + 1.5F, z + 0.5F);
                      (En gros change les valeurs jusqu’à avoir ce que tu veux).

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

                        Merci Robin c’est parfait !! Je suis content mon mod va pouvoir avancer , il ne me reste plus qu’a trouver le code pour la hitbox , tu a des idées de sites spécialisés ou je pourrais chercher ( même anglais ) s’il te plait ?

                        Oui ce gif est drôle.

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

                          Ici même. http://www.minecraftforgefrance.fr/showthread.php?tid=136
                          getSelectedBoundingBoxFromPool
                          getCollisionBoundingBoxFromPool

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

                            Oké merci je vais lire tout ca et je re port si j’ai un problème ^^


                            J’ai réussi a faire la hitbox plus grande !! 😄 Merci , par contre quand je regarde le haut de la barriere la hitbox disparais mais quand je regarde le bas elle ré-apparaît , y’a un moyen de considérer la hitbox entière comme le block ?

                            Oui ce gif est drôle.

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

                              Non, pas possible. Minecraft n’est pas prévu pour ça.
                              Le seul moyen de faire ça c’est de faire deux blocs, comme la porte.

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

                                D’accord , pas de soucis alors ! En tout cas encore un grand merci à toi robin !! 🙂

                                Oui ce gif est drôle.

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

                                  Je reviens encore , il y a un moyen spécial de faire un craft pour le blockBarriere ? Car quand j’essaye d’enregistrer mon craft il ne veut pas 😕

                                  Oui ce gif est drôle.

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

                                    Heu il n’y a pas de raison que le craft ne fonctionne pas. Envoie ton code.

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

                                      GameRegistry.addRecipe(new ItemStack(BlockBarriere, 2), new Object[]{"XXX", "YYY", " XXX", 'X', Items.iron_ingot, 'Y', Blocks.iron_bars});
                                      ``` Je suis sur tu va me dire l'erreur et je vais me dire oh punaise –' xD

                                      Oui ce gif est drôle.

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

                                        En effet.
                                        Un espace en trop
                                        “XXX”, “YYY”, " XXX"

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

                                          Olalalala pfiouuu , comme quoi je le sentais que c’était une bête erreur , merci et je clos ce sujet 🙂

                                          Oui ce gif est drôle.

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

                                          MINECRAFT FORGE FRANCE © 2024

                                          Powered by NodeBB