MFF

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

    Diverses Questions

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    29 Messages 3 Publieurs 5.7k Vues 1 Abonné
    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.
    • sosohS Hors-ligne
      sosoh
      dernière édition par

      J’ai suivis le tuto sur les NBTTag, je veux maintenant faire que la texture change en fonction de la valeur du Tag j’ai mis ca dans TileEntitySpecialRenderer:

      
      private void renderTileEntityChaudronAt(TileEntityChaudron tile, double x, double y, double z, float partialRenderTick)
      
          {
              GL11.glPushMatrix();
              GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
              GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
              GL11.glRotatef((90F * tile.getDirection()) + 180F, 0.0F, 1.0F, 0.0F);
              switch(tile.getContenu())
              {
                case "vide":
                  this.texture = new ResourceLocation(ModHarryPotter.MODID, 
                  "textures/models/blocks/model_block_chaudron.png");
                  break;        
                default:
               this.texture = new ResourceLocation(ModHarryPotter.MODID, 
                    "textures/models/blocks/model_block_chaudron.png");;             
              }
              this.bindTexture(texture);
              model.renderAll();
              GL11.glPopMatrix();
          }
      

      Mais j’ai cette erreur:

      Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted.

      Voial comment j’ai fait pour le NBTTag:

      
      private byte direction;
      
          private ItemStack[] inventory = new ItemStack[72];
      private String name;
      private String contenu;
      
          @Override
          public void readFromNBT(NBTTagCompound nbttag)
          {
          super.readFromNBT(nbttag);
              this.direction = nbttag.getByte("Direction");
              this.contenu = nbttag.getString("vide");
              NBTTagList nbttaglist = nbttag.getTagList("Items", blockMetadata);
              this.inventory = new ItemStack[this.getSizeInventory()];
      
              if (nbttag.hasKey("Name"))
              {
                  this.name = nbttag.getString("Name");
              }
      
              for (int i = 0; i < nbttaglist.tagCount(); i++)
              {
                  NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.getCompoundTagAt(i);
                  int j = nbttagcompound1.getByte("Slot");
      
                  if (j >= 0 && j < this.inventory.length)
                  {
                      this.inventory[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                  }
              }
          }
      
          public void writeToNBT(NBTTagCompound nbttag)
          {
          super.writeToNBT(nbttag);
              nbttag.setByte("Direction", this.direction);
              nbttag.setString("vide", this.contenu);
      
              NBTTagList nbttaglist = new NBTTagList();
      
              for (int i = 0; i < this.inventory.length; i++)
              {
                  if (this.inventory* != null)
                  {
                      NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                      nbttagcompound1.setByte("Slot", (byte)i);
                      this.inventory*.writeToNBT(nbttagcompound1);
                      nbttaglist.appendTag(nbttagcompound1);
                  }
              }
      
              nbttag.setTag("Items", nbttaglist);
      
              if (this.hasCustomInventoryName())
              {
                  nbttag.setString("Name", this.name);
              }
          }
      
          public byte getDirection()
          {
              return direction;
          }
      
          public String getContenu()
          {
              return contenu;
          }
      

      Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

        @‘sosoh’:

        J’ai suivis le tuto sur les NBTTag, je veux maintenant faire que la texture change en fonction de la valeur du Tag j’ai mis ca dans TileEntitySpecialRenderer:

        
        private void renderTileEntityChaudronAt(TileEntityChaudron tile, double x, double y, double z, float partialRenderTick)
        
            {
                GL11.glPushMatrix();
                GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                GL11.glRotatef((90F * tile.getDirection()) + 180F, 0.0F, 1.0F, 0.0F);
                switch(tile.getContenu())
                {
                  case "vide":
                    this.texture = new ResourceLocation(ModHarryPotter.MODID, 
                    "textures/models/blocks/model_block_chaudron.png");
                    break;        
                  default:
                 this.texture = new ResourceLocation(ModHarryPotter.MODID, 
                      "textures/models/blocks/model_block_chaudron.png");;             
                }
                this.bindTexture(texture);
                model.renderAll();
                GL11.glPopMatrix();
            }
        

        Mais j’ai cette erreur:

        Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted.

        Voial comment j’ai fait pour le NBTTag:

        
        private byte direction;
        
            private ItemStack[] inventory = new ItemStack[72];
        private String name;
        private String contenu;
        
            @Override
            public void readFromNBT(NBTTagCompound nbttag)
            {
            super.readFromNBT(nbttag);
                this.direction = nbttag.getByte("Direction");
                this.contenu = nbttag.getString("vide");
                NBTTagList nbttaglist = nbttag.getTagList("Items", blockMetadata);
                this.inventory = new ItemStack[this.getSizeInventory()];
        
                if (nbttag.hasKey("Name"))
                {
                    this.name = nbttag.getString("Name");
                }
        
                for (int i = 0; i < nbttaglist.tagCount(); i++)
                {
                    NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.getCompoundTagAt(i);
                    int j = nbttagcompound1.getByte("Slot");
        
                    if (j >= 0 && j < this.inventory.length)
                    {
                        this.inventory[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
                    }
                }
            }
        
            public void writeToNBT(NBTTagCompound nbttag)
            {
            super.writeToNBT(nbttag);
                nbttag.setByte("Direction", this.direction);
                nbttag.setString("vide", this.contenu);
                
                NBTTagList nbttaglist = new NBTTagList();
        
                for (int i = 0; i < this.inventory.length; i++)
                {
                    if (this.inventory* != null)
                    {
                        NBTTagCompound nbttagcompound1 = new NBTTagCompound();
                        nbttagcompound1.setByte("Slot", (byte)i);
                        this.inventory*.writeToNBT(nbttagcompound1);
                        nbttaglist.appendTag(nbttagcompound1);
                    }
                }
        
                nbttag.setTag("Items", nbttaglist);
        
                if (this.hasCustomInventoryName())
                {
                    nbttag.setString("Name", this.name);
                }
            }
            
            public byte getDirection()
            {
                return direction;
            }
            
            public String getContenu()
            {
                return contenu;
            }
        

        L’erreur vient du switch car tu ne peux pas utiliser switch avec les String, tu dois juste le remplacer par :

        
        if (tile.getContenu().equalsIgnoreCase("vide") {
            this.texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
        } else {
            this.texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
        }
        
        

        Question : pourquoi ce sont les mêmes textures ?

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

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

          Ok merci, le code va marcher comme ca ? Et ce sont les memes car par defaut c’est elle, et apres j’ai prevu de faire plusieur état donc il me faut que prenne en compte le cas “vide”.

          Edit: ca ne marche pas:

          [02:16:02] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----

          // I bet Cylons wouldn’t have this problem.

          Time: 18/02/15 02:16
          Description: Registering texture

          java.lang.NullPointerException: Registering texture
          at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
          at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
          at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
          at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
          at com.harrypotter.sosoh.client.render.blocks.BlockChaudronTechneRender.renderInventoryBlock(BlockChaudronTechneRender.java:26)
          at cpw.mods.fml.client.registry.RenderingRegistry.renderInventoryBlock(RenderingRegistry.java:125)
          at net.minecraft.src.FMLRenderAccessLibrary.renderInventoryBlock(FMLRenderAccessLibrary.java:59)
          at net.minecraft.client.renderer.RenderBlocks.renderBlockAsItem(RenderBlocks.java:8361)
          at net.minecraft.client.renderer.entity.RenderItem.doRender(RenderItem.java:147)
          at net.minecraft.client.renderer.entity.RenderItem.doRender(RenderItem.java:783)
          at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
          at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:283)
          at net.minecraft.client.renderer.tileentity.RenderItemFrame.func_82402_b(RenderItemFrame.java:249)
          at net.minecraft.client.renderer.tileentity.RenderItemFrame.doRender(RenderItemFrame.java:72)
          at net.minecraft.client.renderer.tileentity.RenderItemFrame.doRender(RenderItemFrame.java:337)
          at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
          at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
          at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
          at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527)
          at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300)
          at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091)
          at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056)
          at net.minecraft.client.Minecraft.run(Minecraft.java:951)
          at net.minecraft.client.main.Main.main(Main.java:164)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
          at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
          at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
          at GradleStart.main(GradleStart.java:45)

          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

            @‘sosoh’:

            Ok merci, le code va marcher comme ca ? Et ce sont les memes car par defaut c’est elle, et apres j’ai prevu de faire plusieur état donc il me faut que prenne en compte le cas “vide”.

            Edit: ca ne marche pas:

            [02:16:02] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----

            // I bet Cylons wouldn’t have this problem.

            Time: 18/02/15 02:16
            Description: Registering texture

            java.lang.NullPointerException: Registering texture
            at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63)
            at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35)
            at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89)
            at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45)
            at com.harrypotter.sosoh.client.render.blocks.BlockChaudronTechneRender.renderInventoryBlock(BlockChaudronTechneRender.java:26)
            at cpw.mods.fml.client.registry.RenderingRegistry.renderInventoryBlock(RenderingRegistry.java:125)
            at net.minecraft.src.FMLRenderAccessLibrary.renderInventoryBlock(FMLRenderAccessLibrary.java:59)
            at net.minecraft.client.renderer.RenderBlocks.renderBlockAsItem(RenderBlocks.java:8361)
            at net.minecraft.client.renderer.entity.RenderItem.doRender(RenderItem.java:147)
            at net.minecraft.client.renderer.entity.RenderItem.doRender(RenderItem.java:783)
            at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
            at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:283)
            at net.minecraft.client.renderer.tileentity.RenderItemFrame.func_82402_b(RenderItemFrame.java:249)
            at net.minecraft.client.renderer.tileentity.RenderItemFrame.doRender(RenderItemFrame.java:72)
            at net.minecraft.client.renderer.tileentity.RenderItemFrame.doRender(RenderItemFrame.java:337)
            at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300)
            at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278)
            at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251)
            at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527)
            at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300)
            at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091)
            at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056)
            at net.minecraft.client.Minecraft.run(Minecraft.java:951)
            at net.minecraft.client.main.Main.main(Main.java:164)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
            at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
            at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
            at GradleStart.main(GradleStart.java:45)

            Le problème est que tu devrais bind la texture dans une autre fonction comme la fonction onNeighborBlockChange et en mettre par défaut dans le constructeur.

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

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

              Ok, mais apres la texture va s’update ?

              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                @‘sosoh’:

                Ok, mais apres la texture va s’update ?

                Soit elle sera update avec le render soit avec le onNeighborChange, donc je pense qu’il n’y a pas de soucis, mais à verifier.

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

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

                  En fait je penses que je vais faire autrement mais pour ça j’ai besoin de savoir comment détecter quand un slot change de contenu: Je veux faire que quand je mets un sceau d’eau dans un slot, le sceau remplit soit remplacer par un sceau vide et que le NBTTag contenu obtienne la valeur “eau” et dans ce cas la, la texture change.

                  Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                  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

                    Le problème que tu as est sur le rendu dans l’inventaire, lorsque le rendu dans l’inventaire est fait l’objet tile est null, il faut donc prévoir le coup. Ou alors séparer le rendu dans le monde et celui dans l’inventaire.

                    Ce n’est pas du tout par la fonction onNeighborChange qu’il faut passer.

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

                      Tu peux m’aider ou pas ? Je t’avoues ne pas avoir tout saisis ^^

                      Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                      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

                        Envoie la classe de ton TESR en entier.

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

                          VOila:

                          
                          package com.harrypotter.sosoh.client.render.blocks;
                          
                          import org.lwjgl.opengl.GL11;
                          
                          import com.harrypotter.sosoh.client.model.blocks.ModelChaudron;
                          import com.harrypotter.sosoh.common.ModHarryPotter;
                          import com.harrypotter.sosoh.common.blocks.TileEntityChaudron;
                          
                          import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
                          import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                          import net.minecraft.tileentity.TileEntity;
                          import net.minecraft.util.ResourceLocation;
                          
                          public class TileEntityChaudronSpecialRenderer extends TileEntitySpecialRenderer {
                          
                          public static ModelChaudron model = new ModelChaudron();
                              public static ResourceLocation texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");;
                          
                              public TileEntityChaudronSpecialRenderer()
                              {
                                  this.func_147497_a(TileEntityRendererDispatcher.instance);
                              }
                          
                              @Override
                              public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick)
                              {
                                  this.renderTileEntityChaudronAt((TileEntityChaudron)tile, x, y, z, partialRenderTick);
                              }
                          
                              private void renderTileEntityChaudronAt(TileEntityChaudron tile, double x, double y, double z, float partialRenderTick)
                              {
                                  GL11.glPushMatrix();
                                  GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                                  GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                                  GL11.glRotatef((90F * tile.getDirection()) + 180F, 0.0F, 1.0F, 0.0F);
                                  this.bindTexture(texture);
                                  model.renderAll();
                                  GL11.glPopMatrix();
                              }
                          }
                          
                          

                          et

                          
                          package com.harrypotter.sosoh.client.render.blocks;
                          
                          import net.minecraft.block.Block;
                          import net.minecraft.client.Minecraft;
                          import net.minecraft.client.renderer.RenderBlocks;
                          import net.minecraft.world.IBlockAccess;
                          
                          import org.lwjgl.opengl.GL11;
                          
                          import com.harrypotter.sosoh.common.ModHarryPotter;
                          import com.harrypotter.sosoh.proxy.ClientProxy;
                          
                          import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
                          
                          public class BlockChaudronTechneRender implements ISimpleBlockRenderingHandler {
                          
                              @Override
                              public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer)
                              {
                                  if(block == ModHarryPotter.blockChaudron && metadata == 0)
                                  {
                                      GL11.glPushMatrix();
                                      GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                                      GL11.glTranslatef(0.0F, -1.0F, 0.0F);
                                      GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F);
                                      Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityChaudronSpecialRenderer.texture);
                                      TileEntityChaudronSpecialRenderer.model.renderAll();
                                      GL11.glPopMatrix();
                                  }
                              }
                          
                              @Override
                              public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
                              {
                                  return false;
                              }
                          
                              @Override
                              public boolean shouldRender3DInInventory(int modelId)
                              {
                                  return true;
                              }
                          
                              @Override
                              public int getRenderId()
                              {
                                  return ClientProxy.blockChaudronRenderId;
                              }
                          }
                          
                          

                          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                          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

                            Avec cette méthode tu ne devrait pas avoir de NPE avec le rendu dans l’inventaire, c’est étrange. Actuellement le rendu fonctionne où non ?

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

                              Oui il fonctionne

                              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                              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

                                Et quand tu utilise l’autre code que tu as mit à la première page (lui :

                                ​if (tile.getContenu().equalsIgnoreCase("vide") {
                                    this.texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
                                } else {
                                    this.texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
                                }
                                
                                

                                ) ça crash ?
                                Je trouve ça étrange, il n’y a pas de raison pour que cela crash pourtant …

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

                                  Tu as pas une idee de comment je pourrais faire ?

                                  Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

                                  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 … ? tu n’as pas répondu à ma question x)

                                    Car ce que tu es en train de faire c’est exactement comme ça que je l’aurai fait. Et kevin_68 l’a fait dans son mod spotlight, ça fonctionne très bien.

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

                                      J’ai cru que c’était rhétorique car tu as dis “Je trouve ça étrange […]”. x) Le code je le juste avant d’appliquer la texture ?

                                      EDIT:
                                      Je l’ai mis ici:

                                      
                                      private void renderTileEntityChaudronAt(TileEntityChaudron tile, double x, double y, double z, float partialRenderTick)
                                      
                                          {
                                              GL11.glPushMatrix();
                                              GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D);
                                              GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                                              GL11.glRotatef((90F * tile.getDirection()) + 180F, 0.0F, 1.0F, 0.0F);
                                              if (tile.getContenu().equalsIgnoreCase("vide")) {
                                                  this.texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
                                              } else {
                                                  this.texture = new ResourceLocation(ModHarryPotter.MODID, "textures/models/blocks/model_block_chaudron.png");
                                              }
                                      
                                              this.bindTexture(texture);
                                              model.renderAll();
                                              GL11.glPopMatrix();
                                          }
                                      

                                      Et ça crash:

                                      [23:05:10] [main/INFO] [GradleStart]: Extra: []

                                      [23:06:42] [Server thread/INFO]: Stopping server
                                      [23:06:42] [Server thread/INFO]: Saving players
                                      [23:06:42] [Server thread/INFO]: Saving worlds
                                      [23:06:42] [Server thread/INFO]: Saving chunks for level ‘Nouveau monde’/Overworld
                                      [23:06:42] [Server thread/INFO]: Saving chunks for level ‘Nouveau monde’/Nether
                                      [23:06:42] [Server thread/INFO]: Saving chunks for level ‘Nouveau monde’/The End
                                      [23:06:42] [Server thread/INFO] [FML]: Unloading dimension 0
                                      [23:06:42] [Server thread/INFO] [FML]: Unloading dimension -1
                                      [23:06:42] [Server thread/INFO] [FML]: Unloading dimension 1
                                      [23:06:42] [Server thread/INFO] [FML]: Applying holder lookups
                                      [23:06:42] [Server thread/INFO] [FML]: Holder lookups applied
                                      [23:06:43] [Client thread/FATAL]: Reported exception thrown!
                                      net.minecraft.util.ReportedException: Rendering Block Entity
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntityAt(TileEntityRendererDispatcher.java:148) ~[TileEntityRendererDispatcher.class:?]
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntity(TileEntityRendererDispatcher.java:126) ~[TileEntityRendererDispatcher.class:?]
                                      at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:539) ~[RenderGlobal.class:?]
                                      at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) ~[EntityRenderer.class:?]
                                      at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091) ~[EntityRenderer.class:?]
                                      at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056) ~[Minecraft.class:?]
                                      at net.minecraft.client.Minecraft.run(Minecraft.java:951) [Minecraft.class:?]
                                      at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
                                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_71]
                                      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_71]
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_71]
                                      at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_71]
                                      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
                                      at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
                                      at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]
                                      at GradleStart.main(GradleStart.java:45) [start/:?]
                                      Caused by: java.lang.NullPointerException
                                      at com.harrypotter.sosoh.client.render.blocks.TileEntityChaudronSpecialRenderer.renderTileEntityChaudronAt(TileEntityChaudronSpecialRenderer.java:36) ~[TileEntityChaudronSpecialRenderer.class:?]
                                      at com.harrypotter.sosoh.client.render.blocks.TileEntityChaudronSpecialRenderer.renderTileEntityAt(TileEntityChaudronSpecialRenderer.java:27) ~[TileEntityChaudronSpecialRenderer.class:?]
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntityAt(TileEntityRendererDispatcher.java:141) ~[TileEntityRendererDispatcher.class:?]
                                      … 15 more
                                      [23:06:43] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----
                                      // Quite honestly, I wouldn’t worry myself about that.

                                      Time: 18/02/15 23:06
                                      Description: Rendering Block Entity

                                      java.lang.NullPointerException: Rendering Block Entity
                                      at com.harrypotter.sosoh.client.render.blocks.TileEntityChaudronSpecialRenderer.renderTileEntityChaudronAt(TileEntityChaudronSpecialRenderer.java:36)
                                      at com.harrypotter.sosoh.client.render.blocks.TileEntityChaudronSpecialRenderer.renderTileEntityAt(TileEntityChaudronSpecialRenderer.java:27)
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntityAt(TileEntityRendererDispatcher.java:141)
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntity(TileEntityRendererDispatcher.java:126)
                                      at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:539)
                                      at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300)
                                      at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1091)
                                      at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056)
                                      at net.minecraft.client.Minecraft.run(Minecraft.java:951)
                                      at net.minecraft.client.main.Main.main(Main.java:164)
                                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                      at java.lang.reflect.Method.invoke(Unknown Source)
                                      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                                      at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                      at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78)
                                      at GradleStart.main(GradleStart.java:45)

                                      A detailed walkthrough of the error, its code path and all known details is as follows:

                                      – Head –
                                      Stacktrace:
                                      at com.harrypotter.sosoh.client.render.blocks.TileEntityChaudronSpecialRenderer.renderTileEntityChaudronAt(TileEntityChaudronSpecialRenderer.java:36)
                                      at com.harrypotter.sosoh.client.render.blocks.TileEntityChaudronSpecialRenderer.renderTileEntityAt(TileEntityChaudronSpecialRenderer.java:27)

                                      – Block Entity Details –
                                      Details:
                                      Name: ModHarryPotter.MODID:BlockChaudron // com.harrypotter.sosoh.common.blocks.TileEntityChaudron
                                      Block type: ID #165 (tile.chaudron // com.harrypotter.sosoh.common.blocks.BlockChaudron)
                                      Block data value: 0 / 0x0 / 0b0000
                                      Block location: World: (-138,4,1356), Chunk: (at 6,0,12 in -9,84; contains blocks -144,0,1344 to -129,255,1359), Region: (-1,2; contains chunks -32,64 to -1,95, blocks -512,0,1024 to -1,255,1535)
                                      Actual block type: ID #165 (tile.chaudron // com.harrypotter.sosoh.common.blocks.BlockChaudron)
                                      Actual block data value: 0 / 0x0 / 0b0000
                                      Stacktrace:
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntityAt(TileEntityRendererDispatcher.java:141)
                                      at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.renderTileEntity(TileEntityRendererDispatcher.java:126)
                                      at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:539)
                                      at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300)

                                      Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                                        Au pire, mets une valeur par défaut et regarde ce que ça donne, normalement il ne devrais plus y avoir de NPE.

                                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                                        Pas de demandes de support par MP ni par skype SVP.
                                        Je n'accepte sur skype que l…

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

                                          Valeur ou ?

                                          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                                            @‘sosoh’:

                                            Valeur ou ?

                                            public RessourceLocation texture = new RessourceLocation(MODID, “textures…”);

                                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                                            Pas de demandes de support par MP ni par skype SVP.
                                            Je n'accepte sur skype que l…

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB