28 févr. 2014, 17:51

bha des classe d’item tout ce qu’il y a de plus normal et la classe de rendu 3D


package Mineralherb;

import org.lwjgl.opengl.GL11;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;

public class Sword3D implements IItemRenderer {

private IModelCustom model3D = AdvancedModelLoader.loadModel("/assets/mineralherb/models/weapon/axe_2h_pvphorde_a_01.obj");
private ResourceLocation texture = new ResourceLocation("mineralherb:models/weapon/axe_2h_pvphorde_a_01black.png");

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return true;
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object… data) {

if(type.equals(ItemRenderType.EQUIPPED))
{
GL11.glPushMatrix();
GL11.glScalef(2.0F, 2.0F, 2.0F);
GL11.glRotatef(-60.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(17.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(0.20F, -0.035F, 0.25F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model3D.renderAll();
GL11.glPopMatrix();

}
else if (type.equals(ItemRenderType.EQUIPPED_FIRST_PERSON) )
{
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glTranslatef(2.0F, -0.5f, 2.0f);
GL11.glScalef(5.0F, 5.0F, 5.0F);
GL11.glRotatef(70.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F);
model3D.renderAll();
GL11.glPopMatrix();

}
else if (type.equals(ItemRenderType.ENTITY) )
{
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glScalef(0.6F, 0.6F, 0.6F);
GL11.glTranslated(0.0, 0.17, 0.0);
GL11.glRotated(90, 0, 1, 0);
GL11.glRotated(-90, 1, 0, 0);
model3D.renderAll();
GL11.glPopMatrix();

}
else
{
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glScalef(8.8F, 8.8F, 8.8F);
GL11.glTranslated(1.3, 0.9, 0);
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotated(220, 1, 0, 0);
model3D.renderAll();
GL11.glPopMatrix();

}

}
}