Problème arc rendu 3D et dégâts flèches
-
Ah ok merci donc ce n’était pas du tout dans la class de la flèche comme je le pensais ^^
-
Alors je viens de testé et sa me fait pareil pour l’arc mais il me semble qu’il à des sujets qui traite ceci je vais regardé et je te donnerais la réponse

-
Ah je me disais aussi que ça ne venait pas que de moi ! Merci mais j’ai déjà fait plein de recherches sans aucunes réponses à mon problème donc si tu trouve GG

-
@‘ErkoZ’:
Ah je me disais aussi que ça ne venait pas que de moi ! Merci mais j’ai déjà fait plein de recherches sans aucunes réponses à mon problème donc si tu trouve GG

J’ai trouvé cela

https://www.minecraftforgefrance.fr/showthread.php?tid=2593 -
https://www.minecraftforgefrance.fr/showthread.php?tid=2593&pid=30130#pid30130
pour être plus précis.Le placement de l’arc est hardcodé dans le jeu, du-coup faut faire tout un bordel pour reproduire.
En 1.8 et + comme il y a les jsons il suffit de modifier une petite valeur dans le json (ou reprendre le même json que l’arc).
-
Merci pour toutes vos réponses mais est ce que vous savez ou est la classe du rendu de l’arc ? Si il y en a une ?
-
Il n’y a pas de classe spéciale, c’est dans la classe qui s’occupe de rendre ce qu’on a en main.
-
Bon après quelques recherches et graçe à vous j’ai finalement résolu mon problème du coup je vais partager la solution à ceux qui auront ou ont le même problème que moi

Il suffit de créer une classe ModBowRenderer et d’y mettre ça:
package com.google.akinarutv.akimod.common.renderer; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; public class BowRenderer implements IItemRenderer { private Minecraft mc; private TextureManager texturemanager; public BowRenderer() { this.mc = Minecraft.getMinecraft(); this.texturemanager = this.mc.getTextureManager(); } @Override //HandleRenderType lets forge know if it will render the item in the requested view. public boolean handleRenderType(ItemStack item, ItemRenderType type) { //You can remove everything after "EQUIPPED" if you only want this class to render the third person item. return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON; } @Override //RenderHelpers I don't fully understand, I'd assume they are modifiers, but I've never looked into it. public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { return false; } @Override //This function decides what to do in rendering an item, whether it's first or third person. //Credit to SanAndreasP on minecraftforge forums for this code. public void renderItem(ItemRenderType type, ItemStack item, Object… data) { EntityClientPlayerMP entity = (EntityClientPlayerMP)data[1]; GL11.glPopMatrix(); // prevents Forge from pre-translating the item if(type == ItemRenderType.EQUIPPED_FIRST_PERSON) { this.renderItem(entity, item, 0); } else { GL11.glPushMatrix(); // contra-translate the item from it's standard translation // also apply some more scale or else the bow is tiny float f2 = 3F - (1F/3F); GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F); GL11.glScalef(f2, f2, f2); GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F); // render the item as 'real' bow //This is pulled from RenderBiped float f3 = 0.625F; GL11.glTranslatef(0.0F, 0.125F, 0.3125F); GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(f3, -f3, f3); GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); this.renderItem(entity, item, 0); GL11.glPopMatrix(); } GL11.glPushMatrix(); // prevents GL Underflow errors } //This actually renders an Icon to be worked with. //All of this code is directly pulled from ItemRenderer.class private void renderItem(EntityClientPlayerMP par1EntityLiving, ItemStack par2ItemStack, int par3) { { //If you for whatever reason aren't registering icons with iconRegister, I'm assuming you'll need to change the code below. IIcon iicon = par1EntityLiving.getItemIcon(par2ItemStack, par3); if (iicon == null) { GL11.glPopMatrix(); return; } texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber())); Tessellator tessellator = Tessellator.instance; float f = iicon.getMinU(); float f1 = iicon.getMaxU(); float f2 = iicon.getMinV(); float f3 = iicon.getMaxV(); float f4 = 0.0F; float f5 = 0.3F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glTranslatef(-f4, -f5, 0.0F); float f6 = 1.5F; GL11.glScalef(f6, f6, f6); GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F); ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F); //This checks for enchantments. if (par2ItemStack.hasEffect(par3)) { GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glDisable(GL11.GL_LIGHTING); texturemanager.bindTexture(new ResourceLocation("textures/misc/enchanted_item_glint.png")); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); float f7 = 0.76F; GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glPushMatrix(); float f8 = 0.125F; GL11.glScalef(f8, f8, f8); float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F; GL11.glTranslatef(f9, 0.0F, 0.0F); GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glScalef(f8, f8, f8); f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F; GL11.glTranslatef(-f9, 0.0F, 0.0F); GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDepthFunc(GL11.GL_LEQUAL); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); } } }J’ai trouvé cette classe ici: https://www.minecraftforgefrance.fr/archive/index.php?thread-726-2.html#
Ensuite vous enregistrez votre item avec le rendu dans votre ClientProxy voila

-
Résolu ?
-
Oui, résolu.
-
Alors rajoute la balise en éditant ton premier message