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.4k 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.
    • Bowser338B Hors-ligne
      Bowser338
      dernière édition par

      Ok mais je pense me contenter d’une texture de tuyau par contre j’ai l’impression qu’il s’en fou completement de ma condition
      ou plutot qu’il ne detecte jamais le bloc meme si il y en a un car il rends toujours le shape central

      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
      • Bowser338B Hors-ligne
        Bowser338
        dernière édition par

        Ok merci mais je pense que je vais me contenter d’une simple texture pour le tuyaux en main

        Par contre sa n’a pas l’air de marcher l’affichage des differentes shapes il m’affiche toujours le shape central peut importe les bloc qu’il y a autour je viens de penser il ne faudrait pas actualiser le rendu pour qu’il prenne en compte l’ajout d’un autre bloc a coté ?

        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, 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