MFF

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

    Texture dans TileEntityRender

    Planifier Épinglé Verrouillé Déplacé Sans suite
    47 Messages 6 Publieurs 12.3k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Non, le rendu TESR sont mit à jour à chaque tick, c’est écrit dans le tutoriel.
      C’est sûrement tes conditions qui ne sont pas bonne.

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

        j’ai mis sa pour tester

        public void render(float f, World world, int x, int y, int z)
        
         {
        
           if(world.getBlock(x,y-1,z) == Robotic.pipetest) {
               Shape1.render(f);
        
               }
        
            else {
        
                Shape4.render(f);
            }
        

        Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

        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

          shape4 c’est le centre ?
          Perso j’aurai plutôt mit les conditions dans le rendu plutôt que dans le modèle.

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

            Oui Shape4 c’est le centre

            sa change quelque chose si c’est dans le rendu plutot que dans le modèle ? a par de la lisibilité

            Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

            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, je ne crois pas que ça change autre chose que la lisibilité.

              Et donc ton problème c’est qu’il rend toujours le shape4 et jamais le Shape1 ?

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

                Oui comme si que la condition n’etait jamais remplie

                Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

                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

                  Tu as bien placé le bloc en dessous ?

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

                    Oui j’ai placer un block de pipe en dessous et sa change rien

                    Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

                    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

                      Étrange tout ça, tu peux m’envoyer tout ton code ? je vais regarder quand j’aurai le temps.

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

                        TileEntitySpecialRender :

                        package com.bowser.robotic.proxy;
                        
                        import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
                        import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                        import net.minecraft.tileentity.TileEntity;
                        import net.minecraft.util.ResourceLocation;
                        import net.minecraft.world.World;
                        
                        import org.lwjgl.opengl.GL11;
                        
                        import com.bowser.robotic.client.IInventoryRenderer;
                        import com.bowser.robotic.common.Robotic;
                        import com.bowser.robotic.common.TileEntityBlockPipeTest;
                        import com.bowser.robotic.common.TileEntityFourArc;
                        import com.bowser.robotic.common.techne.FourArc;
                        import com.bowser.robotic.common.techne.Pipe;
                        
                        public class TileEntityBlockPipeTestSpecialRender extends TileEntitySpecialRenderer implements IInventoryRenderer
                        {
                        
                           private final Pipe model = new Pipe();
                        
                           public static final ResourceLocation textureLocation = new ResourceLocation(Robotic.modid, "textures/blocks/pipetest.png");
                        
                           public TileEntityBlockPipeTestSpecialRender()
                           {
                               this.func_147497_a(TileEntityRendererDispatcher.instance);
                           }
                        
                           @Override
                           public void renderInventory(double x, double y, double z)
                           {
                               this.renderTileEntityBlockPipeTestAt(null, x, y, z, 0.0F);
                        
                           }
                        
                           @Override
                           public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f)
                           {
                               this.renderTileEntityBlockPipeTestAt((TileEntityBlockPipeTest)te, x, y, z, f);
                        
                           }
                        
                           public void renderTileEntityBlockPipeTestAt(TileEntityBlockPipeTest te, double x, double y, double z, float f)
                           {
                               GL11.glPushMatrix();
                               GL11.glTranslated(x + 0.5F, y + 1.5F, z + 0.5F);
                               this.bindTexture(textureLocation);
                               GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                               if(te!= null) {  
                                   this.model.core(0.0625F, te.getWorldObj(), (int)x, (int)y, (int)z);
                                   }
                               GL11.glPopMatrix();
                           }
                        }
                        

                        la classe du bloc :

                        package com.bowser.robotic.common;
                        
                        import net.minecraft.block.Block;
                        import net.minecraft.block.material.Material;
                        import net.minecraft.tileentity.TileEntity;
                        import net.minecraft.util.IIcon;
                        import net.minecraft.world.World;
                        
                        public class BlockPipeTest extends Block
                        {
                        
                           protected BlockPipeTest(Material material)
                           {
                               super(material);
                           }
                        
                           public TileEntity createTileEntity(World world, int metadata)
                           {
                               return new TileEntityBlockPipeTest();
                           }
                        
                           public boolean hasTileEntity(int metadata)
                           {
                               return true;
                           }
                        
                           public boolean renderAsNormalBlock()
                           {
                               return false;
                           }
                        
                           public int getRenderType() {
                               return -1;  
                           }
                        
                           public boolean isOpaqueCube()
                           {
                               return false;
                           }
                        
                        }
                        

                        et le model techne :

                        // Date: 28/10/2014 12:09:37
                        // Template version 1.1
                        // Java generated by Techne
                        // Keep in mind that you still need to fill in some blanks
                        // - ZeuX
                        
                        package com.bowser.robotic.common.techne;
                        
                        import com.bowser.robotic.common.Robotic;
                        
                        import net.minecraft.client.model.ModelBase;
                        import net.minecraft.client.model.ModelRenderer;
                        import net.minecraft.entity.Entity;
                        import net.minecraft.init.Blocks;
                        import net.minecraft.world.World;
                        
                        public class Pipe extends ModelBase
                        {
                         //fields
                           public static ModelRenderer Shape1;
                           public static ModelRenderer Shape2;
                           public static ModelRenderer Shape3;
                           public static ModelRenderer Shape4;
                           public static ModelRenderer Shape5;
                           public static ModelRenderer Shape6;
                           public static ModelRenderer Shape7;
                        
                         public Pipe()
                         {
                           textureWidth = 64;
                           textureHeight = 32;
                        
                             Shape1 = new ModelRenderer(this, 0, 0);
                             Shape1.addBox(0F, 0F, 0F, 6, 4, 4);
                             Shape1.setRotationPoint(2F, 14F, -2F);
                             Shape1.setTextureSize(64, 32);
                             Shape1.mirror = true;
                             setRotation(Shape1, 0F, 0F, 0F);
                             Shape2 = new ModelRenderer(this, 0, 10);
                             Shape2.addBox(0F, 0F, 0F, 4, 4, 6);
                             Shape2.setRotationPoint(-2F, 14F, 2F);
                             Shape2.setTextureSize(64, 32);
                             Shape2.mirror = true;
                             setRotation(Shape2, 0F, 0F, 0F);
                             Shape3 = new ModelRenderer(this, 0, 21);
                             Shape3.addBox(0F, 0F, 0F, 6, 4, 4);
                             Shape3.setRotationPoint(-8F, 14F, -2F);
                             Shape3.setTextureSize(64, 32);
                             Shape3.mirror = true;
                             setRotation(Shape3, 0F, 0F, 0F);
                             Shape4 = new ModelRenderer(this, 21, 0);
                             Shape4.addBox(0F, 0F, 0F, 4, 4, 4);
                             Shape4.setRotationPoint(-2F, 14F, -2F);
                             Shape4.setTextureSize(64, 32);
                             Shape4.mirror = true;
                             setRotation(Shape4, 0F, 0F, 0F);
                             Shape5 = new ModelRenderer(this, 21, 9);
                             Shape5.addBox(0F, 0F, 0F, 4, 4, 6);
                             Shape5.setRotationPoint(-2F, 14F, -8F);
                             Shape5.setTextureSize(64, 32);
                             Shape5.mirror = true;
                             setRotation(Shape5, 0F, 0F, 0F);
                             Shape6 = new ModelRenderer(this, 21, 20);
                             Shape6.addBox(0F, 0F, 0F, 4, 6, 4);
                             Shape6.setRotationPoint(-2F, 8F, -2F);
                             Shape6.setTextureSize(64, 32);
                             Shape6.mirror = true;
                             setRotation(Shape6, 0F, 0F, 0F);
                             Shape7 = new ModelRenderer(this, 44, 3);
                             Shape7.addBox(0F, 0F, 0F, 4, 6, 4);
                             Shape7.setRotationPoint(-2F, 18F, -2F);
                             Shape7.setTextureSize(64, 32);
                             Shape7.mirror = true;
                             setRotation(Shape7, 0F, 0F, 0F);
                         }
                        
                         /** public void render(float f, World world, int x, int y, int z)
                        
                         {
                        
                           if(world.getBlock(x,y-1,z+1) == Robotic.fourArc) {
                               Shape1.render(f);
                        
                               }
                        
                            else {
                        
                                Shape4.render(f);
                            }
                        
                           //Shape1.render(f);
                           //Shape2.render(f);
                           //Shape3.render(f);
                           //Shape4.render(f); Core
                           //Shape5.render(f);
                           //Shape6.render(f);
                           //Shape7.render(f);
                         }
                        * @param z
                        * @param y
                        * @param x
                        * @param world
                         */
                        
                         public void core(float f, World world, int x, int y, int z){ //CENTER
                             Shape4.render(f);
                         }
                        
                         public void top(float f, World world, int x, int y, int z){
                             Shape3.render(f);
                         }
                        
                         private void setRotation(ModelRenderer model, float x, float y, float z)
                         {
                           model.rotateAngleX = x;
                           model.rotateAngleY = y;
                           model.rotateAngleZ = z;
                         }
                        
                        public void render(float f)
                        {
                           // TODO Auto-generated method stub
                        
                        }
                        
                        }
                        

                        Sa marche mais il ne me manque plus qu’a ajouter la fonction pour que le rendu change en fonction des blocs autour

                        Tout probleme a sa solution, s'il n'y a pas de solution c'est qu'il n'y a pas de problemes

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

                        MINECRAFT FORGE FRANCE © 2024

                        Powered by NodeBB