Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Changé le IItemRender de la 1.7.10

    Sans suite
    1.8.9
    2
    8
    986
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ph1823
      ph1823 last edited by

      Bonjour/Bonsoir, il y a quelleque j’ai fait un rendue spécial d’ailleur, j’avais galéré et demandé de 'laide au support MFF, maintenant je souhaiterais passé ce rendue en 1.8 (et oui je suis chaint :p), sauf que je n’arrive pas a trovuée les méthodes, j’ai cherché dans MapItemRender rien :/, voici ma classe :
      :::

      [font=Courier Newpackage ]fr.ph1823.MyLife.Item.civil%(#cc7832)[;
      ]
      import net.minecraft.client.Minecraft%(#cc7832)[;
      ]import net.minecraft.client.gui.FontRenderer%(#cc7832)[;
      ]import net.minecraft.client.gui.MapItemRenderer%(#cc7832)[;
      ]import net.minecraft.client.renderer.ItemRenderer%(#cc7832)[;
      ]import net.minecraft.client.renderer.Tessellator%(#cc7832)[;
      ]import net.minecraft.client.renderer.texture.TextureManager%(#cc7832)[;
      ]
      import net.minecraft.item.ItemStack%(#cc7832)[;
      ]import net.minecraft.nbt.NBTTagCompound%(#cc7832)[;
      ]
      import net.minecraft.util.ResourceLocation%(#cc7832)[;
      ]
      
      import org.lwjgl.opengl.GL11%(#cc7832)[;
      ]
      
      %(#629755)[*/**
      *]%(#629755)[* * Created by ph1823 - Minecraft on 28/03/2016.
      *]%(#629755)[* */
      *]public class IdentityTechneRender implements IItemRenderer {
         protected Identity model%(#cc7832)[;
      ]    protected float zLevel%(#cc7832)[;
      ]    MapItemRenderer
      
         private static TextureManager *manager *= Minecraft.*getMinecraft*().getTextureManager()%(#cc7832)[;
      ]
          protected static ResourceLocation *texture *= new ResourceLocation("plants:textures/items/card1.png")%(#cc7832)[;
      ]
          public IdentityTechneRender()
      
         {
             model = new Identity()%(#cc7832)[;
      ]    }
      
         %(#bbb529)[@Override
      ]    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
             return /*type == ItemRenderType.EQUIPPED ||*/ type == ItemRenderType.EQUIPPED_FIRST_PERSON%(#cc7832)[;
      ]    }
      
         %(#bbb529)[@Override
      ]    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
            %(#808080)[// return type == ItemRenderType.EQUIPPED;
      ]        %(#cc7832)[return false;
      ]    }
      
         %(#bbb529)[@Override
      ]    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
      
             String name = "Iconnue"%(#cc7832)[;
      ]        String surname = "Inconnue"%(#cc7832)[;
      ]
              int age = 0%(#cc7832)[;
      ]        NBTTagCompound nbt = item.getTagCompound()%(#cc7832)[;
      ]
              if (nbt != null) {
                 age = nbt.getInteger("age")%(#cc7832)[;
      ]            name = nbt.getString("name") != null ? nbt.getString("name") : name%(#cc7832)[;
      ]            surname = nbt.getString("surname") != null ? nbt.getString("surname") : surname%(#cc7832)[;
      ]
             }
      
             FontRenderer font = Minecraft.*getMinecraft*().fontRenderer%(#cc7832)[;
      ]
              switch (type) {
                 case EQUIPPED:
                     GL11.*glTranslatef*(1F, -.5F, 0F)%(#cc7832)[;
      ]%(#cc7832)[                break;
      ]            case EQUIPPED_FIRST_PERSON:
                     GL11.*glTranslatef*(8F, 2F, 2F)%(#cc7832)[;
      ]                GL11.*glRotatef*(-10F, 0F, 0F, 1F)%(#cc7832)[;
      ]%(#cc7832)[                break;
      ]            default:
             }
             GL11.*glRotatef*(180F, 0F, 0F, 1F)%(#cc7832)[;
      ]        GL11.*glScalef*(0.05F, 0.05F, 0.05F)%(#cc7832)[;
      ]
             font.drawStringWithShadow(surname,22,31, 0xFFFFFF)%(#cc7832)[;
      ]        font.drawStringWithShadow(name,22,41, 0xFFFFFF)%(#cc7832)[;
      ]        font.drawStringWithShadow(age +"",22,51, 0xFFFFFF)%(#cc7832)[;
      ]        *manager*.bindTexture(*texture*)%(#cc7832)[;
      ]        GL11.*glScalef*(0.5F, 0.5F, 0.5F)%(#cc7832)[;
      ]        GL11.*glTranslatef*(8F, 2F, 2F)%(#cc7832)[;
      ]        GL11.*glRotatef*(-10F, 0F, 0F, 1F)%(#cc7832)[;
      ]        drawTexturedModalRect(0,0,0,0,256,256)%(#cc7832)[;
      ]     %(#808080)[/*  Tessellator tessellator = Tessellator.instance;
      ]
      %(#808080)[        tessellator.startDrawingQuads();
      ]%(#808080)[        tessellator.addVertexWithUV((double)(0), (double)(16), (double)this.zLevel, (double)0, (double)16);
      ]%(#808080)[        tessellator.addVertexWithUV((double)(16), (double)(16), (double)this.zLevel, (double)0, (double)16);
      ]%(#808080)[        tessellator.addVertexWithUV((double)(16), (double)(0), (double)this.zLevel, (double)0, (double)16);
      ]%(#808080)[        tessellator.addVertexWithUV((double)(0), (double)(0), (double)this.zLevel, (double)0, (double)16);
      ]%(#808080)[        tessellator.draw();*/
      ]
      
         }
       %(#808080)[/*  public void drawTexturedModelRectFromIcon(int p_94065_1_, int p_94065_2_, int p_94065_4_, int p_94065_5_)
      ]%(#808080)[    {
      ]%(#808080)[        Tessellator tessellator = Tessellator.instance;
      ]%(#808080)[        tessellator.startDrawingQuads();
      ]%(#808080)[        tessellator.addVertexWithUV((double)(p_94065_1_ + 0), (double)(p_94065_2_ + p_94065_5_), (double)this.zLevel, (double)16, (double)0);
      ]%(#808080)[        tessellator.addVertexWithUV((double)(p_94065_1_ + p_94065_4_), (double)(p_94065_2_ + p_94065_5_), (double)this.zLevel, (double)16, (double)0);
      ]%(#808080)[        tessellator.addVertexWithUV((double)(p_94065_1_ + p_94065_4_), (double)(p_94065_2_ + 0), (double)this.zLevel, (double)16, (double)0);
      ]%(#808080)[        tessellator.addVertexWithUV((double)(p_94065_1_ + 0), (double)(p_94065_2_ + 0), (double)this.zLevel, (double)16, (double)0);
      ]%(#808080)[        tessellator.draw();
      ]%(#808080)[    }*/
      ]
             public void drawTexturedModalRect(int p_73729_1_, int p_73729_2_, int p_73729_3_, int p_73729_4_, int p_73729_5_, int p_73729_6_)
         {
             float f = 0.00390625F%(#cc7832)[;
      ]        float f1 = 0.00390625F%(#cc7832)[;
      ]        Tessellator tessellator = Tessellator.*instance*%(#cc7832)[;
      ]        tessellator.startDrawingQuads()%(#cc7832)[;
      ]        tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1))%(#cc7832)[;
      ]        tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1))%(#cc7832)[;
      ]        tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + 0) * f1))%(#cc7832)[;
      ]        tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + 0) * f1))%(#cc7832)[;
      ]        tessellator.draw()%(#cc7832)[;
      ]    }
      
      }
      

      :::
      Et un autre qui pose aussi problème, la ou on register le rendue : 
      :::

      [font=Courier Newpackage ]fr.ph1823.MyLife.Proxy%(#cc7832)[;
      ]
      
      import fr.ph1823.MyLife.GloryRP%(#cc7832)[;
      ]import fr.ph1823.MyLife.Item.civil.IdentityTechneRender%(#cc7832)[;
      ]
      import net.minecraft.client.Minecraft%(#cc7832)[;
      ]import net.minecraftforge.client.EnumHelperClient%(#cc7832)[;
      ]import net.minecraftforge.client.MinecraftForgeClient%(#cc7832)[;
      ]
      
      public class ClientProxy extends CommonProxy {
        public static ClientProxy *Clientt*%(#cc7832)[;
      ]   public ClientProxy() {
           *Clientt *= %(#cc7832)[this;
      ]
        }
        %(#bbb529)[@Override
      ]   public void registerRenderItem() {
           %(#808080)[//Minecraft.getMinecraft().getRenderItem().renderItem(GloryRP.Identity, new IdentityTechneRender());
      ]%(#808080)[   // MinecraftForgeClient.registerRenderItem(GloryRP.Identity.getMo, new IdentityTechneRender());
      ]   }
      }
      

      :::
      Voila, j’aimerais aussi ajouté le fait que le eprsonnage tienne l’item dans ca main, donc le fait quelle sois positionné casiment comme une carte (je ne sais pas trop ou touché pour la rotation en 1.7.10 je n’arrivé que a la faire bougé de bas en haut :/) et si possible affiché une partie de la main, merci de vos réponse 😃

      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

        Salut,
        Le rendu ressemblait à quoi en 1.7.10 ?
        Pour information IItemRenderer n’est plus implémenté en 1.8 (donc non fonctionnel) et n’existe plus en 1.9.

        1 Reply Last reply Reply Quote 0
        • ph1823
          ph1823 last edited by

          Eu … le rendue resemlbé a ca :
          http://image.noelshack.com/fichiers/2016/25/1466957501-2016-06-26-18-10-26.png je ne trouve que cette vieille image, mais le petit carré bleu était en beaucoup plus grand (voici le topic d’avant : https://www.minecraftforgefrance.fr/showthread.php?tid=3493&page=5 ) je continue mes recherche pour vori si je n’ai pas encore les source du mods 1.7.10, et d’accord, mais alors comment faire le rendue custom si il n’y a plus IItemRednder? Car je l’avais vue mais je n’ai pas vue en quoi/comment il était changé .

          1 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

            Tout passe par les json maintenant. Pour rendre un string ça va donc être compliqué … Il doit avoir des utilitaires pour faire des rendus complexes, mais je n’ai encore jamais utilisé ça.

            1 Reply Last reply Reply Quote 0
            • ph1823
              ph1823 last edited by

              D’accord merci 😕 Mais alors comment Minecraft fait pour faire le rendue de la map? Car c’est un peut comme ca que je vodurais mon rendue ^^

              1 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                Le rendu de la map semble hardcodé dans ItemRenderer et MapItemRenderer.

                Il y a peut-être moyen de faire quelque chose de similaire avec RenderSpecificHandEvent

                1 Reply Last reply Reply Quote 0
                • ph1823
                  ph1823 last edited by

                  Le RenderSpecificHandEvent n’existe pas en 1.8.9 😕 Il a juste RenderHandEvent mais je n’arrive pas a trovué comment el faire, et dans MapItemRenderer je ne trouve pas quelle aprtie du code correspond a itemrender 😕

                  1 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                    En 1.8, c’est dans ItemRenderer à la ligne 217.
                    Et en effet pas d’event en 1.8, j’ai remonté un peu plus les appels de fonction, il n’y a aucune trace d’event bus 😕

                    J’ai trouvé ce post : http://www.minecraftforge.net/forum/index.php?topic=31327.0
                    Apparemment il faut passer par ISmartItemModel

                    Un exemple ici : https://github.com/TheGreyGhost/MinecraftByExample/blob/1-8final/src/main/java/minecraftbyexample/mbe15_item_smartitemmodel/

                    1 Reply Last reply Reply Quote 0
                    • 1 / 1
                    • First post
                      Last post
                    Design by Woryk
                    Contact / Mentions Légales / Faire un don

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB