/**
* Copyright (c) Lambda Innovation, 2013-2015
* 本作品版权由Lambda Innovation所有。
* http://www.li-dev.cn/
*
* This project is open-source, and it is distributed under
* the terms of GNU General Public License. You can modify
* and distribute freely as long as you follow the license.
* 本项目是一个开源项目,且遵循GNU通用公共授权协议。
* 在遵照该协议的情况下,您可以自由传播和修改。
* http://www.gnu.org/licenses/gpl.html
*/
package cn.dawn47.mob.client.render;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.IItemRenderer.ItemRenderType;
import net.minecraftforge.client.MinecraftForgeClient;
import org.lwjgl.opengl.GL11;
import cn.dawn47.core.proxy.DWResources;
import cn.dawn47.mob.entity.EntityWeaponSoldier;
/**
* @author WeAthFolD
*/
public class RenderWeaponSoldier extends RenderBiped {
ResourceLocation[] textures;
public RenderWeaponSoldier() {
super(new Model(), 0.5f);
textures = DWResources.getTextures("entities/soldier_w", 2);
}
public void doRender(EntityLivingBase a, double b, double c, double d, float e, float f) {
EntityWeaponSoldier sol = (EntityWeaponSoldier) a;
if(sol.weaponID == -1)
return;
super.doRender(a, b, c, d, e, f);
}
@Override
protected ResourceLocation getEntityTexture(Entity ent) {
EntityWeaponSoldier ews = (EntityWeaponSoldier) ent;
return textures[ews.weaponID];
}
private static class Model extends ModelBiped {
public Model() {
super(0.0f);
}
@Override
public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity)
{
super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity);
if(!((EntityWeaponSoldier)par7Entity).isShooting) {
setRotation(bipedRightArm, -0.5205006F, -0.7807508F, 0F);
setRotation(bipedLeftArm, -0.2602503F, 0.3346075F, -0.0371786F);
} else {
setRotation(bipedRightArm, -1.373038F, -0.2974289F, 0.0371786F);
setRotation(bipedLeftArm, -1.461502F, 0.5948578F, -0.0371786F);
}
}
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
}
}