(1.5.2) [Forge] ItemRenderer Api


  • ItemRenderer API

    Cette api consiste à ajouter un event (ItemRendererEvent) qui permet d’ajouter des rendus à la première personne en jeu.
    C’est un petite API.
    Le fichier est disponible ici : ItemRenderer API.zip
    Comment on l’utilise ? Il suffit de suivre les instructions dans le “Lisez-moi.txt” de l’archive et d’ajouter son event en utilisant la classe mod.thecreeper999.api.itemRendererApi.ItemRendererEvent.RenderInFirstPerson !
    ItemRenderer API est en réalité un simple coremod qui ajoute l’appel de l’event dans ItemRenderer 😉

    Je vais vous expliquer simplement à quoi correspondent les variables de l’event :

    package mod.thecreeper999.api.itemRendererApi;
    
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.renderer.ItemRenderer;
    import net.minecraft.item.ItemStack;
    import net.minecraftforge.event.Event;
    
    public class ItemRendererEvent extends Event{
    
        public float partialTick;
        public Minecraft mc;
        public ItemRenderer renderer;
        public ItemStack itemToRender;
    
        public static class RenderInFirstPerson extends ItemRendererEvent
        {
            public RenderInFirstPerson(float partialTick, Minecraft mc, ItemRenderer renderer, ItemStack itemToRender){
                super();
                this.partialTick = partialTick;
                this.mc = mc;
                this.renderer = renderer;
                this.itemToRender = itemToRender;
                }
            }
        }
    }
    
    • partialTick : Tick de l’actualisation du rendu (je ne suis pas sûr, envoyez un message si ce n’est pas ça)
    • mc : Instance de Minecraft
    • renderer : Instance de ItemRenderer
    • itemToRender : L’item rendu dans le jeu à la première personne

    Voilà un petit screen de ce que vous pouvez faire :

    Oh ! J’ai une deuxième main et il y a une tête qui vole xD
    Crédit : TheCreeper999



  • Excellent !

    Essaie de faire une doc dessus, et des exemples ( Le truc des deux mains est énorme ! faire du double épée est un truc hyper recherché, si tu fais ça et que ça marche en multi, ça va devenir très connu )


  • Pas mal du tout !

    Je vais essayer de l’utiliser, si les système des doubles mains ( maybe Double-Sword ? 😉 ) marche en multi, ce serait génial !


  • Ben, ça fonction en multi 😉 (T’façon ItemRenderer c’est du Client donc après pour le multi, ça n’a rien à voir)


  • Bonjour, tout d’abord merci pour ton API TheCreeper999 !
    Malheureusement j’ai essayé de mettre une deuxième main car je trouvais ça vraiment sympathique mais je ne comprend pas comment on procède en réalité :S Vu que la main n’est pas un item de base.

    Peux tu éclairer ma lanterne ?

    Merci 😉


  • Il faut commencer par savoir utiliser les event.
    Ensuite, il faut que tu affiches la main qui se trouve dans ModelBiped : donc tu fais une instance de ModelBiped et tu dois faire qqch comme ça : ModelBiped.rightHand.render(0.0625);
    Tu dois l’afficher dans un matrice pour cela, tu le mets entre un GL11.glPushMatrix(); et GL11.glPopMatrix();
    Ensuite tu dois bien placer le bras car il ne va pas se placer tout seul à l’endroit que tu veux : des GL11.glTranslatef(x, y, z) et GL11.glRotatef(angle, x, y, z) (pour la rotation) suffisent. 😉


  • Tu peux coller le code de la tête et la deuxième main ? En tant qu’exemple pour voir le fonctionnement surtout