- 215
- 3
Как заменить модель стива на свою?
Какой нужно использовать ивент?
Если не трудно, то более менее подробно распишите.
Спасибо)
Какой нужно использовать ивент?
Если не трудно, то более менее подробно распишите.
Спасибо)
RenderingRegistry.registerEntityRenderingHandler(EntityPlayer.class, new RenderNewPlayer());
Держи: ссылкаlordraider написал(а):Как заменить модель стива на свою?
Какой нужно использовать ивент?
Если не трудно, то более менее подробно распишите.
Спасибо)
RenderingRegistry.registerEntityRenderingHandler(EntityPlayer.class, new RenderElf());
public class RenderElf extends RenderPlayer
{
private static final ResourceLocation DarkElf = new ResourceLocation(ModInfo.MODID + ":" + "textures/model/ElfModelF.png");
public ModelBiped DarkElfModel;
private static final String __OBFID = "CL_00001020";
public RenderElf()
{
super();
this.mainModel = new ModelBiped(0.0F);
this.modelBipedMain = (ModelBiped) this.mainModel;
this.modelArmorChestplate = new ModelBiped(1.0F);
this.modelArmor = new ModelBiped(0.5F);
this.DarkElfModel = new ElfModelF(0.5f);
}
@Override
public void renderModel(EntityLivingBase entity, float par2, float par3, float par4, float par5, float par6, float par7)
{
ModelBiped modelBiped;
for (int i = 0; i < 4; ++i)
{
modelBiped = this.DarkElfModel;
GL11.glColor4f(1, 1, 1, 1);
this.bindTexture(DarkElf);
modelBiped.bipedHead.showModel = i == 0;
modelBiped.bipedHeadwear.showModel = i == 0;
modelBiped.bipedBody.showModel = i == 1 || i == 2;
modelBiped.bipedRightArm.showModel = i == 1;
modelBiped.bipedLeftArm.showModel = i == 1;
modelBiped.bipedRightLeg.showModel = i == 2 || i == 3;
modelBiped.bipedLeftLeg.showModel = i == 2 || i == 3;
modelBiped.onGround = this.mainModel.onGround;
modelBiped.isRiding = this.mainModel.isRiding;
modelBiped.isChild = this.mainModel.isChild;
if (this.mainModel instanceof ModelBiped)
{
modelBiped.heldItemLeft = ((ModelBiped) this.mainModel).heldItemLeft;
modelBiped.heldItemRight = ((ModelBiped) this.mainModel).heldItemRight;
modelBiped.isSneak = ((ModelBiped) this.mainModel).isSneak;
modelBiped.aimedBow = ((ModelBiped) this.mainModel).aimedBow;
}
modelBiped.setLivingAnimations(entity, par2, par3, 0.0F);
modelBiped.render(entity, par2, par3, par4, par5, par6, par7);
GL11.glDisable(GL11.GL_LIGHTING);
this.bindTexture(DarkElf);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glAlphaFunc(GL11.GL_GREATER, 0.0F);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
float time = entity.ticksExisted / 10.0F;
float sTime = (float) Math.sin(time) * 0.5F + 0.5F;
float r = 0.2F * sTime;
float g = 1.0F * sTime;
float b = 0.2F * sTime;
modelBiped.render(entity, par2, par3, par4, par5, par6, par7);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_LIGHTING);
}
}
}
public class ElfModelF extends ModelBiped
{
//fields
Шейпы....
public ElfModelF(float f)
{
textureWidth = 128;
textureHeight = 64;
Позиция шейпов...
}
public void render(Entity entity, float par2, float par3, float par4, float par5, float par6, float par7)
{
super.render(entity, par2, par3, par4, par5, par6, par7);
setRotationAngles(par2, par3, par4, par5, par6, par7, entity);
Shape1.render(par7);
Shape2.render(par7);
Shape3.render(par7);
Shape4.render(par7);
Shape5.render(par7);
Shape6.render(par7);
Shape7.render(par7);
Shape8.render(par7);
Shape9.render(par7);
Shape10.render(par7);
Shape11.render(par7);
Shape12.render(par7);
Shape13.render(par7);
Shape14.render(par7);
Shape15.render(par7);
Shape16.render(par7);
Shape17.render(par7);
Shape18.render(par7);
Shape19.render(par7);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.setRotationAngles(f5, f, f1, f2, f3, f4, entity);
}
}
java.lang.NullPointerException
at net.minecraft.client.model.ModelRenderer.render(ModelRenderer.java:187) ~[ModelRenderer.class:?]
at net.minecraft.client.model.ModelBiped.render(ModelBiped.java:101) ~[ModelBiped.class:?]
at rinkirin.model.ElfModelF.render(ElfModelF.java:153) ~[ElfModelF.class:?]
at rinkirin.renders.RenderElf.renderModel(RenderElf.java:60) ~[RenderElf.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:165) [RendererLivingEntity.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.localRenderPlayer(RenderPlayer.java:167) [RenderPlayer.class:?]
at api.player.render.RenderPlayerAPI.renderPlayer(Unknown Source) [RenderPlayerAPI.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java) [RenderPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:565) [RenderPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) [RenderManager.class:?]
at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) [RenderManager.class:?]
at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) [RenderManager.class:?]
at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527) [RenderGlobal.class:?]
at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) [EntityRenderer.class:?]
at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087) [EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_91]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
[16:05:23] [Client thread/ERROR]: ########## GL ERROR ##########
[16:05:23] [Client thread/ERROR]: @ Post render
[16:05:23] [Client thread/ERROR]: 1283: Stack overflow
[16:05:23] [Client thread/ERROR]: Couldn't render entity
java.lang.NullPointerException
Я конечно этим не занимался, но, думаю событиями ловить это все дело.lordraider написал(а):У меня получилось изменить модель, окей.
Но как её анимировать?
Как добавить анимацию ходьбы, удара и т.д?