Résolu [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…
-
-
Sauf que c’est avec un modèle techne nop ?
-
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
-
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 ? ^^
-
GL11.glPushMatrix(); (toujours en premier) GL11.glPopMatrix(); (toujours après PushMatrix(); )
Je crois que robin a trop l’habitude de GitHub xD -
En effet oui x)
-
J’ai des erreurs sur tous les item
classe de mon renderpackage 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(); } } }
-
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é
-