17 mai 2014, 20:35

Je reviens à vous encore une fois pour cette fois ci laisser déjà de côté les entitées mais cette fois pour les items cela ne marche pas or j’ai enregistré mon item dans ma class client proxy, ait crée un nouveau item basique et ait crée sa class SpecialRender la voici :


package mods.maxiworldcraft.mineKingdomHeartsmod.common;

import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;

import org.jglrxavpok.glutils.TessellatorModel;
import org.jglrxavpok.glutils.TessellatorModelEvent;
import org.jglrxavpok.glutils.TessellatorModelEvent.RenderGroupEvent;
import org.lwjgl.opengl.GL11;

import cpw.mods.fml.common.eventhandler.SubscribeEvent;

public class ChaineRoyaleItemRenderer implements IItemRenderer
{

private TessellatorModel model;
private double bladeAngle;
private int direction;

public ChaineRoyaleItemRenderer()
{
model = new TessellatorModel("/assets/obj/VorpalBlade/VorpalBlade.obj");
model.regenerateNormals();
model.setID("blade");
TessellatorModel.MODEL_RENDERING_BUS.register(this);
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type)
{
switch(type)
{
case ENTITY:
return true;
case EQUIPPED_FIRST_PERSON:
return true;
case EQUIPPED:
return true;
case INVENTORY:
return true;
default:
return false;
}
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
if(type == ItemRenderType.INVENTORY && helper == ItemRendererHelper.INVENTORY_BLOCK)
return true;
return false;
}

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object… data)
{
GL11.glScaled(0.05,0.05,0.05);
switch(type)
{
case ENTITY:
{
GL11.glPushMatrix();
GL11.glTranslated(0,0.1,0);
GL11.glRotated(10, 0, 0, 1);
GL11.glShadeModel(GL11.GL_SMOOTH);
model.render();
GL11.glPopMatrix();
break;
}
case EQUIPPED_FIRST_PERSON:
{
GL11.glPushMatrix();
GL11.glTranslated(10,10.0,0.0);
GL11.glRotated(200, 0, 1, 0);
GL11.glRotated(-10, 1, 0, 0);

GL11.glRotated(200, 0, 1, 0);
GL11.glRotated(20, 1, 0, 0);
GL11.glRotated(-10, 0, 0, 1);
GL11.glRotated(25, 0, 1, 0);
GL11.glRotated(10, 1, 0, 0);

GL11.glRotated(180, 0, 1, 0);

GL11.glShadeModel(GL11.GL_SMOOTH);
model.render();
GL11.glPopMatrix();
break;
}
case EQUIPPED:
{
GL11.glPushMatrix();
GL11.glTranslated(10,0.0,0.0);
GL11.glRotated(200, 0, 1, 0);
GL11.glRotated(-10, 1, 0, 0);
GL11.glShadeModel(GL11.GL_SMOOTH);
model.render();
GL11.glPopMatrix();
break;
}
case INVENTORY:
{
GL11.glPushMatrix();
GL11.glTranslated(10, -10, 0);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(-45, 1, 0, 0);
GL11.glRotated(180, 0, 1, 0);
GL11.glShadeModel(GL11.GL_SMOOTH);
model.render();
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glPopMatrix();
break;
}
default:
break;
}
}

}

L’item n’a pas de texture IG donc si quelqu’un a une soluce je suis preneur je pense notamment quecela vient du fait que mes block TESR n’ont pas dde texture dans l’inventaire et dans la main mais regardez mes messages un peu plus vieux et vous verrez toutes mes class

EDIT j’ai vraiment relu le tuto sur les entitées jglrxavpok mais toujours rien j’ai testé comme ça mais j’ai un crash sur l’appel de la méthode


package mods.maxiworldcraft.mineKingdomHeartsmod.client;

import org.jglrxavpok.glutils.TessellatorModel;

import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityRei;
import mods.maxiworldcraft.mineKingdomHeartsmod.common.modMineKingdomHearts;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.entity.EntityLiving;
import net.minecraft.util.ResourceLocation;

public class RenderRei extends RenderBiped
{
private ModelRei model;
private TessellatorModel mode1;

public RenderRei(ModelBiped modelbiped, float float1) {
super(modelbiped, float1);

model.render(null, float1, float1, float1, float1, float1, float1);
mode1 = new TessellatorModel("/assets/modminekingdomhearts/obj/Hayner/heyner.obj");
}

//Localisation de la Texture

public final ResourceLocation texture = new ResourceLocation(modMineKingdomHearts.MODID, "textures/entity/rei.png");

protected ResourceLocation getEntityTexture(EntityLiving living)
{
return this.getMobTutorielTexture((EntityRei)living);
}

private ResourceLocation getMobTutorielTexture(EntityRei mobTutoriel)
{
return texture;
}

}

Le truc c’est que je ne sais pas quoi mettre comme arguments dans la méthode render du model appelée dans la class render de mon mob

De l’aide plz si quelqu’un a déjà réussi ??