@SubscribeEvent
public void onRenderLivingPre(RenderLivingEvent.Pre event)
{
EntityGib[] gibs = amputationMap.get(event.getEntity());
if(gibs != null)
{
boolean gibbed = false;
for(int i = 0; i <= 2; i++)
{
if(!gibs[i].attached)
{
gibbed = true;
break;
}
}
if(gibbed)
{
if(event.getRenderer() instanceof RenderBiped || event.getRenderer() instanceof RenderPlayer)
{
ModelBase model = event.getRenderer().mainModel;
ModelBiped bipedPass1 = null;
ModelBiped bipedPass2 = null;
for(int i = 0; i < event.getRenderer().layerRenderers.size(); i++)
{
LayerRenderer layer = (LayerRenderer)event.getRenderer().layerRenderers.get(i);
if(layer instanceof LayerBipedArmor)
{
LayerBipedArmor armor = (LayerBipedArmor)layer;
bipedPass1 = armor.modelLeggings;
bipedPass2 = armor.modelArmor;
break;
}
}
if(model instanceof ModelBiped && bipedPass1 != null && bipedPass2 != null)
{
ModelBiped biped = (ModelBiped)model;
ModelGib.bipedHead1 = bipedPass1.bipedHead;
ModelGib.bipedHeadwear1 = bipedPass1.bipedHeadwear;
ModelGib.bipedLeftArm1 = bipedPass1.bipedLeftArm;
ModelGib.bipedRightArm1 = bipedPass1.bipedRightArm;
ModelGib.bipedHead2 = bipedPass2.bipedHead;
ModelGib.bipedHeadwear2 = bipedPass2.bipedHeadwear;
ModelGib.bipedLeftArm2 = bipedPass2.bipedLeftArm;
ModelGib.bipedRightArm2 = bipedPass2.bipedRightArm;
if(!gibs[0].attached)
{
biped.bipedHead.showModel = false;
biped.bipedHeadwear.showModel = false;
bipedPass1.bipedHead = bipedPass2.bipedHead = bipedPass1.bipedHeadwear = bipedPass2.bipedHeadwear = ModelGib.emptyModel;
}
if(!gibs[1].attached)
{
biped.bipedLeftArm.showModel = false;
bipedPass1.bipedLeftArm = bipedPass2.bipedLeftArm = ModelGib.emptyModel;
}
if(!gibs[2].attached)
{
biped.bipedRightArm.showModel = false;
bipedPass1.bipedRightArm = bipedPass2.bipedRightArm = ModelGib.emptyModel;
}
}
}
}
}
}
EventHandlerClient.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:Mob-Amputation
作者:
评论列表
文章目录