Remembered after the fact to add the new stuff too.

This commit is contained in:
WayofTime 2016-07-13 17:19:02 -04:00
parent e3b3d69d1d
commit ee71072969
8 changed files with 580 additions and 0 deletions

View file

@ -0,0 +1,15 @@
package WayofTime.bloodmagic.client.render.entity;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraftforge.fml.client.registry.IRenderFactory;
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
public class MeteorRenderFactory implements IRenderFactory<EntityMeteor>
{
@Override
public Render<? super EntityMeteor> createRenderFor(RenderManager manager)
{
return new RenderEntityMeteor(manager);
}
}

View file

@ -0,0 +1,56 @@
package WayofTime.bloodmagic.client.render.entity;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.util.ResourceLocation;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.client.render.model.ModelMeteor;
import WayofTime.bloodmagic.entity.projectile.EntityMeteor;
public class RenderEntityMeteor extends Render<EntityMeteor>
{
public ModelBase model = new ModelMeteor();
private float scale = 1;
private static final ResourceLocation resource = new ResourceLocation(Constants.Mod.MODID, "textures/models/Meteor.png");
public RenderEntityMeteor(RenderManager renderManagerIn)
{
super(renderManagerIn);
}
@Override
public void doRender(EntityMeteor entity, double x, double y, double z, float entityYaw, float partialTicks)
{
// GlStateManager.pushMatrix();
// GlStateManager.translate((float) x, (float) y, (float) z);
// GlStateManager.enableRescaleNormal();
// GlStateManager.scale(0.5F, 0.5F, 0.5F);
// GlStateManager.rotate(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
// GlStateManager.rotate(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
// this.bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
// this.renderItem.renderItem(ItemComponent.getStack(ItemComponent.REAGENT_BLOODLIGHT), ItemCameraTransforms.TransformType.GROUND);
// GlStateManager.disableRescaleNormal();
// GlStateManager.popMatrix();
GlStateManager.pushMatrix();
GlStateManager.translate((float) x, (float) y, (float) z);
GlStateManager.enableRescaleNormal();
GlStateManager.scale(scale, scale, scale);
this.bindTexture(this.getEntityTexture(entity));
// GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * f1, 0.0F, 1.0F, 0.0F);
// GL11.glRotatef(180.0f - entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * f1, 1.0F, 0.0F, 0.0f);
model.render(entity, 0, (float) x, (float) y, (float) z, entityYaw, partialTicks);
GlStateManager.disableRescaleNormal();
GlStateManager.popMatrix();
super.doRender(entity, x, y, z, entityYaw, partialTicks);
}
@Override
protected ResourceLocation getEntityTexture(EntityMeteor entity)
{
return resource;
}
}

View file

@ -0,0 +1,95 @@
package WayofTime.bloodmagic.client.render.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
/**
* This is a direct copy of the meteor model from 1.7.10. As such it probably
* needs to be... better.
*
*/
public class ModelMeteor extends ModelBase
{
//fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
public ModelMeteor()
{
textureWidth = 64;
textureHeight = 64;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(-8F, -8F, -8F, 16, 16, 16);
Shape1.setRotationPoint(0F, 0F, 0F);
Shape1.setTextureSize(64, 64);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 32);
Shape2.addBox(3F, -10F, -1F, 12, 12, 12);
Shape2.setRotationPoint(0F, 0F, 0F);
Shape2.setTextureSize(64, 64);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 32);
Shape3.addBox(0F, 0F, -10F, 12, 12, 12);
Shape3.setRotationPoint(0F, 0F, 0F);
Shape3.setTextureSize(64, 64);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 32);
Shape4.addBox(1F, 2F, 2F, 12, 12, 12);
Shape4.setRotationPoint(0F, 0F, 0F);
Shape4.setTextureSize(64, 64);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 32);
Shape5.addBox(-12F, -5F, 0F, 12, 12, 12);
Shape5.setRotationPoint(0F, 0F, 0F);
Shape5.setTextureSize(64, 64);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 32);
Shape6.addBox(-13F, -2F, -11F, 12, 12, 12);
Shape6.setRotationPoint(0F, 0F, 0F);
Shape6.setTextureSize(64, 64);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 32);
Shape7.addBox(-6F, -14F, -9F, 12, 12, 12);
Shape7.setRotationPoint(0F, 0F, 0F);
Shape7.setTextureSize(64, 64);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
}