[1.6.4]Augmenter taille des items en main



  • Bonjour ^^ je ne sais pas comment faire sous forge cette petite chose

    J'avais utiliser ce tuto a l'époque et je tente de refaire le même sur minecraft sous forge en l’occurrence une arme ( lance plus grande)
    http://forum.ironcraft.fr/topic/5941-146-modification-du-rendu-des-items/

    Donc je fais appel a vous mes chers amis



  • Hm ….

    Utilise un IItemRenderer, modifier le RenderPlayer = erreur totale



  • Hum faut pas un model techne pour les item renderer ?



  • Bah, normalement dans le render si tu essaie d'utiliser la fonction render de base et que tu ajoute un GL11.scalef() tu peut agrandir



  • Désolé du up du post, je ne voulais pas faire un second poste sur le même sujet, en effet je ne comprends pas comment faire, j'ai vraiment du mal avec les render, j'ai après quelques rapides recherches, pensés qu'il faut implements IItemRenderer puis compléter les fonctions, mais je ne comprends pas comment ça fonctionne.
    Merci de votre aide.



  • Up please, j'en ai réellement besoin pour mon serveur…


  • Moddeurs confirmés Rédacteurs Administrateurs



  • Sauf que c'est avec un modèle techne nop ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    C'est pour utiliser un rendu custom en général. Il suffit de remplacer la fonction du modèle par le rendu classique de l'item puis faire un glscale (j'ai pas le nom des méthodes en tête, je regarderai si besoin).



  • J'avais tenté mais ya un bug avec itemstack1



  • Tu nous dis un bug, mais quel est ce bug ?

    Un crash ? Eclipse qui souligne en rouge ?



  • J'ai repris le render par rapport au bow et j'ai changé pour sabre

    
    package Opk;
    
    import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED;
    import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D;
    
    import org.lwjgl.opengl.GL11;
    
    import net.minecraft.block.Block;
    import net.minecraft.client.renderer.RenderBlocks;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    
    public class RenderGrand implements IItemRenderer
    {
    
    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
    // TODO Auto-generated method stub
    return false;
    }
    
    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
    ItemRendererHelper helper) {
    // TODO Auto-generated method stub
    return false;
    }
    
    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
    // TODO Auto-generated method stub
    }
    float f11;
    
    IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED);
    boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D));
    boolean isBlock = ItemStack.itemID < Block.blocksList.length && itemstack1.getItemSpriteNumber() == 0;
    
    if (is3D || (isBlock && RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())))
    {
    f11 = 0.5F;
    GL11.glTranslatef(0.0F, 0.1875F, -0.3125F);
    f11 *= 0.75F;
    GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F);
    GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
    GL11.glScalef(-f11, -f11, f11);
    }
    else if (itemstack1.itemID == Item.sabre.itemID)
    {
    f11 = 0.625F;
    GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
    GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
    GL11.glScalef(f11, -f11, f11);
    GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
    GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
    }
    }
    
    

    Et le bug viens de l'item stack1


  • Moddeurs confirmés Rédacteurs Administrateurs

    Remplace par item.

    ÉDIT : ça ne fonctionnera pas, car il manque d'autre code (le GL pull et GL push).



  • Je trouve le gl push mais gl pull ? ^^


  • Modérateurs

    GL11.glPushMatrix(); (toujours en premier) GL11.glPopMatrix(); (toujours après PushMatrix(); )
    Je crois que robin a trop l'habitude de GitHub xD


  • Moddeurs confirmés Rédacteurs Administrateurs

    En effet oui x)



  • J'ai des erreurs sur tous les item
    classe de mon render

    
    package Opk;
    
    import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED;
    import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D;
    
    import org.lwjgl.opengl.GL11;
    
    import net.minecraft.block.Block;
    import net.minecraft.client.renderer.RenderBlocks;
    import net.minecraft.item.EnumAction;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraftforge.client.IItemRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    
    public class RenderGrand implements IItemRenderer
    {
    
    @Override
    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
    // TODO Auto-generated method stub
    return false;
    }
    
    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
    ItemRendererHelper helper) {
    // TODO Auto-generated method stub
    return false;
    }
    
    @Override
    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
    // TODO Auto-generated method stub
    }
    
    {
    GL11.glPushMatrix();
    
    float f11;
    
    IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(Item, EQUIPPED);
    boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, Item, BLOCK_3D));
    boolean isBlock = Item.itemID < Block.blocksList.length && Item.getitempriteNumber() == 0;
    
    if (is3D || (isBlock && RenderBlocks.renderItemIn3d(Block.blocksList[Item.itemID].getRenderType())))
    {
    f11 = 0.5F;
    GL11.glTranslatef(0.0F, 0.1875F, -0.3125F);
    f11 *= 0.75F;
    GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F);
    GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
    GL11.glScalef(-f11, -f11, f11);
    }
    else if (Item.itemID == Item.bow.itemID)
    {
    f11 = 0.625F;
    GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
    GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
    GL11.glScalef(f11, -f11, f11);
    GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
    GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
    GL11.glPopMatrix();
    }
    }
    }
    
    

  • Moddeurs confirmés Rédacteurs Administrateurs

    Item != item
    J'ai dit item, sans majuscule, c'est le nom de ton paramètre dans la fonction :
    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
    Mais ça ne fonctionnera sûrement pas comme ça, la tu es en train de faire une boucle infini (car tu utilise la fonction MinecraftForgeClient.getItemRenderer(Item, EQUIPPED); à l’intérieur même d'un endroit ou elle est utilisé).
    Je vais regarder de mon côté dès que j'ai réinstallé Eclipse sur mon pc (oui, j'ai encore formaté mon pc il y a pas longtemps (Windows arium 8 pour remplacer Windaube 7 et Ubuntu 13.04 à la place de la 13.10 pour avoir les pilotes propriétaire) et je compte en profité pour refaire les tutoriels d'installation que je trouve pas super).



  • Arf donc j’attends de ton coté


  • Moddeurs confirmés Rédacteurs Administrateurs


Log in to reply