- 51
- 0
Всем привет!
Не знаю как задавать движение модели предмета при условии. Сам условие есть, но нету движения.
Вот код:
Объясните в чем проблема?
Не знаю как задавать движение модели предмета при условии. Сам условие есть, но нету движения.
Вот код:
Код:
package ua.dark.base.renders;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
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;
import ua.dark.base.Main;
public class RenderRifel implements IItemRenderer {
//Пока все работает.
public static final ResourceLocation rifel = new ResourceLocation(Main.MODID, "model/items/Rifle.obj");
public static final ResourceLocation rifel_1_face = new ResourceLocation(Main.MODID, "model/items/rifel_1_face.obj");
public static final ResourceLocation hands = new ResourceLocation(Main.MODID, "model/items/hands.obj");
public static final ResourceLocation swordTex = new ResourceLocation(Main.MODID);
public IModelCustom rifel_model = AdvancedModelLoader.loadModel(rifel);
public IModelCustom rifel_model_1 = AdvancedModelLoader.loadModel(rifel_1_face);
public IModelCustom hands_model = AdvancedModelLoader.loadModel(hands);
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: {
GL11.glPushMatrix();
GL11.glPopMatrix();
return true;
}
case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
/*Minecraft.getMinecraft().renderEngine.bindTexture(swordTex);
rifel_model_1.renderAll();
Minecraft.getMinecraft().renderEngine.bindTexture(Minecraft.getMinecraft().thePlayer.getLocationSkin());
hands_model.renderAll(); */
GL11.glPopMatrix();
//povorot
/*if(Minecraft.getMinecraft().thePlayer.isSprinting())
{
GL11.glRotatef(180, 10, 50, 70);
}
else
{
}*/
}
return true;
case ENTITY: {
GL11.glPushMatrix();
GL11.glPopMatrix();
return true;
}
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
GL11.glPushMatrix();
GL11.glPopMatrix();
//float scale = 1.0F;
//GL11.glScalef(scale, scale, scale);
// надо все сюда от 1лица, ты смогешь!
//mb
switch(type) {
case ENTITY:
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(swordTex);
rifel_model.renderAll();
GL11.glPopMatrix();
break;
case EQUIPPED:
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(swordTex);
rifel_model.renderAll();
GL11.glPopMatrix();
break;
case EQUIPPED_FIRST_PERSON:
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(swordTex);
rifel_model_1.renderAll();
Minecraft.getMinecraft().renderEngine.bindTexture(Minecraft.getMinecraft().thePlayer.getLocationSkin());
hands_model.renderAll();
GL11.glPopMatrix();
//run
if(Minecraft.getMinecraft().thePlayer.isSprinting()){
GL11.glRotatef(47F, -1F, -2F, 1.3F);
GL11.glRotatef(65F, -10F, 1.1F, 0F);
GL11.glRotatef(100F, 0F, 0F, 1F);
GL11.glTranslatef(0.8F, -0.1F, 0.35F);
GL11.glScalef(0.05F, 0.05F, 0.05F);
}
else
{
GL11.glRotatef(47F, -1F, -2F, 1.3F);
GL11.glRotatef(65F, -10F, 1.1F, 0F);
GL11.glRotatef(18F, 0F, 0F, 1F);
GL11.glTranslatef(0.5F, 0.6F, 0.35F);
GL11.glScalef(0.08F, 0.08F, 0.08F);
}
break;
case INVENTORY:
break;
case FIRST_PERSON_MAP:
break;
default:
break;
}
}
}