Краш...

Версия Minecraft
1.6.4
149
1
2
Сделал рендер предмету, но как бы не так, майн шлет нахер и крашит. По идее все сделал правильно.
public class DarkStaff extends Item{

public DarkStaff(int par1) {
super(par1);
this.setCreativeTab(langrisser_Mod.langrisserTab);
MinecraftForgeClient.registerItemRenderer(this.itemID, new DSRenderer());
this.setMaxStackSize(1);
this.setFull3D();
this.setMaxDamage(50000);
final String modid = "LangrisserMod";
this.setTextureName(modid + ":darkStaff");
this.canRepair = false;
}
public void onUpdate(ItemStack stack, World world, EntityPlayer ep, int par1, boolean par2){
Minecraft mc = Minecraft.getMinecraft();

}
public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
        return par1ItemStack;
    }

    /**
     * How long it takes to use or consume an item
     */
    public int getMaxItemUseDuration(ItemStack par1ItemStack)
    {
        return 72000;
    }

    /**
     * returns the action that specifies what animation to play when the items is being used
     */
    public EnumAction getItemUseAction(ItemStack par1ItemStack)
    {
        return EnumAction.bow;
    }
    
    public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
    {
        ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack);
        MinecraftForge.EVENT_BUS.post(event);
        if (event.isCanceled())
        {
            return event.result;
        }

        par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); 
        
        EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, 2.0F);
        par2World.spawnEntityInWorld(entityarrow);
        
        return par1ItemStack;
    }

}

public class DSRenderer implements IItemRenderer{

public IModelCustom model;

public DSRenderer(){
model = AdvancedModelLoader.loadModel("/cool/langrisserMod/obj/items/darkStaff.obj");
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch (type){
case EQUIPPED:
return true;
case EQUIPPED_FIRST_PERSON:
return true;
default:
return false;
}
}
public boolean handleRenderType(Item item, IItemRenderer.ItemRenderType type){
return (IItemRenderer.ItemRenderType.EQUIPPED == type || IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON == type);
 }

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

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch (type){
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
{
GL11.glPushMatrix();
boolean isFirstPerson = false;
if(data[1] ==null & data[1] instanceof EntityPlayer){
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("langrissermod", "textures/models/darkStaff.png"));

if(!((EntityPlayer)data[1] == Minecraft.getMinecraft().renderViewEntity) && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && !(Minecraft.getMinecraft().currentScreen instanceof GuiInventory || Minecraft.getMinecraft().currentScreen instanceof GuiContainerCreative) && RenderManager.instance.playerViewY == 180.0F){

GL11.glTranslatef(1, 1, 1);
GL11.glRotatef(0, 0, 0, 0);
GL11.glRotatef(0, 0, 0, 0);
GL11.glRotatef(0, 0, 0, 0);
GL11.glScalef(1, 2, 3);

}
else{
isFirstPerson = true;
GL11.glTranslatef(0, 0, 0);
GL11.glRotatef(0, 0, 0, 0);
GL11.glRotatef(0, 0, 0, 0);
GL11.glRotatef(0, 0, 0, 0);
GL11.glScalef(1, 1, 1);
}
GL11.glScalef(0.32F, 0.32F, 0.21F);
           model.renderAll();
           GL11.glPopMatrix();
}
}
 default:
           break;
}
}
}
 
Извини конечно, а может быть, краш тоже?
 
Назад
Сверху