package net.smart.render.playerapi; import net.minecraft.client.entity.*; import net.minecraft.client.model.*; import net.minecraft.client.renderer.entity.*; import net.minecraft.entity.*; import net.minecraft.entity.player.*; import api.player.render.*; import net.smart.render.*; import net.smart.render.IRenderPlayer; public class SmartRenderRenderPlayerBase extends RenderPlayerBase implements IRenderPlayer { public SmartRenderRenderPlayerBase(RenderPlayerAPI renderPlayerAPI) { super(renderPlayerAPI); } public SmartRenderRender getRenderRender() { if (render == null) render = new SmartRenderRender(this); return render; } public IModelPlayer createModel(ModelBiped existing, float f) { return SmartRender.getPlayerBase((api.player.model.ModelPlayer)existing); } public void initialize(ModelBiped modelBipedMain, ModelBiped modelArmorChestplate, ModelBiped modelArmor, float shadowSize) { renderPlayerAPI.setMainModelField(modelBipedMain); renderPlayerAPI.setShadowSizeField(0.5F); renderPlayerAPI.setModelBipedMainField(modelBipedMain); renderPlayerAPI.setModelArmorChestplateField(modelArmorChestplate); renderPlayerAPI.setModelArmorField(modelArmor); } @Override public void renderPlayer(AbstractClientPlayer entityplayer, double d, double d1, double d2, float f, float renderPartialTicks) { getRenderRender().renderPlayer(entityplayer, d, d1, d2, f, renderPartialTicks); } public void superRenderPlayer(AbstractClientPlayer entityplayer, double d, double d1, double d2, float f, float renderPartialTicks) { super.renderPlayer(entityplayer, d, d1, d2, f, renderPartialTicks); } @Override public void renderFirstPersonArm(EntityPlayer entityPlayer) { getRenderRender().drawFirstPersonHand(entityPlayer); } public void superDrawFirstPersonHand(EntityPlayer entityPlayer) { super.renderFirstPersonArm(entityPlayer); } @Override public void rotatePlayer(AbstractClientPlayer entityplayer, float totalTime, float actualRotation, float f2) { getRenderRender().rotatePlayer(entityplayer, totalTime, actualRotation, f2); } public void superRotatePlayer(AbstractClientPlayer entityplayer, float totalTime, float actualRotation, float f2) { super.rotatePlayer(entityplayer, totalTime, actualRotation, f2); } @Override public void renderSpecials(AbstractClientPlayer entityplayer, float f) { getRenderRender().renderSpecials(entityplayer, f); } public void superRenderSpecials(AbstractClientPlayer entityplayer, float f) { super.renderSpecials(entityplayer, f); } @Override public void beforeHandleRotationFloat(EntityLivingBase entityliving, float f) { getRenderRender().beforeHandleRotationFloat(entityliving, f); } @Override public void afterHandleRotationFloat(EntityLivingBase entityliving, float f) { getRenderRender().afterHandleRotationFloat(entityliving, f); } public RenderManager getRenderManager() { return renderPlayerAPI.getRenderManagerField(); } public ModelBiped getModelBipedMain() { return renderPlayerAPI.getModelBipedMainField(); } public ModelBiped getModelArmorChestplate() { return renderPlayerAPI.getModelArmorChestplateField(); } public ModelBiped getModelArmor() { return renderPlayerAPI.getModelArmorField(); } public IModelPlayer[] getRenderModels() { api.player.model.ModelPlayer[] modelPlayers = api.player.model.ModelPlayerAPI.getAllInstances(); if(allModelPlayers != null && (allModelPlayers == modelPlayers || modelPlayers.length == 0 && allModelPlayers.length == 0)) return allIModelPlayers; allModelPlayers = modelPlayers; allIModelPlayers = new IModelPlayer[modelPlayers.length]; for(int i=0; i<allIModelPlayers.length; i++) allIModelPlayers[i] = SmartRender.getPlayerBase(allModelPlayers[i]); return allIModelPlayers; } private api.player.model.ModelPlayer[] allModelPlayers; private IModelPlayer[] allIModelPlayers; private SmartRenderRender render; }