Add boulder spell
This commit is contained in:
@@ -815,6 +815,7 @@ public class ClientProxy extends CommonProxy {
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityForcefield.class, RenderForcefield::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityZombieSpawner.class, RenderZombieSpawner::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityRadiantTotem.class, RenderRadiantTotem::new);
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityBoulder.class, RenderBoulder::new);
|
||||
//RenderingRegistry.registerEntityRenderingHandler(EntityContainmentField.class, RenderContainmentField::new);
|
||||
|
||||
// Stuff that doesn't render
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
package electroblob.wizardry.client.model;
|
||||
|
||||
import net.minecraft.client.model.ModelBase;
|
||||
import net.minecraft.client.model.ModelBox;
|
||||
import net.minecraft.client.model.ModelRenderer;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
// Made with Blockbench 3.5.2
|
||||
public class ModelBoulder extends ModelBase {
|
||||
|
||||
private final ModelRenderer mainGroup;
|
||||
private final ModelRenderer box1;
|
||||
private final ModelRenderer box2;
|
||||
private final ModelRenderer box3;
|
||||
private final ModelRenderer box4;
|
||||
private final ModelRenderer box5;
|
||||
private final ModelRenderer box6;
|
||||
|
||||
public ModelBoulder(){
|
||||
|
||||
textureWidth = 64;
|
||||
textureHeight = 32;
|
||||
|
||||
mainGroup = new ModelRenderer(this);
|
||||
mainGroup.setRotationPoint(0.0F, 24.0F, 0.0F);
|
||||
|
||||
box1 = new ModelRenderer(this);
|
||||
box1.setRotationPoint(0.0F, -19.0F, 0.0F);
|
||||
mainGroup.addChild(box1);
|
||||
box1.cubeList.add(new ModelBox(box1, 0, 0, -11.0F, -11.0F, 11.0F, 22, 22, 8, 0.0F, false));
|
||||
|
||||
box2 = new ModelRenderer(this);
|
||||
box2.setRotationPoint(0.0F, -19.0F, 0.0F);
|
||||
mainGroup.addChild(box2);
|
||||
setRotationAngle(box2, -1.5708F, 0.0F, 0.0F);
|
||||
box2.cubeList.add(new ModelBox(box2, 0, 0, -11.0F, -11.0F, 11.0F, 22, 22, 8, 0.0F, false));
|
||||
|
||||
box3 = new ModelRenderer(this);
|
||||
box3.setRotationPoint(0.0F, -19.0F, 0.0F);
|
||||
mainGroup.addChild(box3);
|
||||
setRotationAngle(box3, 0.0F, -1.5708F, 0.0F);
|
||||
box3.cubeList.add(new ModelBox(box3, 0, 0, -11.0F, -11.0F, 11.0F, 22, 22, 8, 0.0F, false));
|
||||
|
||||
box4 = new ModelRenderer(this);
|
||||
box4.setRotationPoint(0.0F, -19.0F, 0.0F);
|
||||
mainGroup.addChild(box4);
|
||||
setRotationAngle(box4, 0.0F, 1.5708F, 0.0F);
|
||||
box4.cubeList.add(new ModelBox(box4, 0, 0, -11.0F, -11.0F, 11.0F, 22, 22, 8, 0.0F, false));
|
||||
|
||||
box5 = new ModelRenderer(this);
|
||||
box5.setRotationPoint(0.0F, -19.0F, 0.0F);
|
||||
mainGroup.addChild(box5);
|
||||
setRotationAngle(box5, 1.5708F, 0.0F, 0.0F);
|
||||
box5.cubeList.add(new ModelBox(box5, 0, 0, -11.0F, -11.0F, 11.0F, 22, 22, 8, 0.0F, false));
|
||||
|
||||
box6 = new ModelRenderer(this);
|
||||
box6.setRotationPoint(0.0F, -19.0F, 0.0F);
|
||||
mainGroup.addChild(box6);
|
||||
setRotationAngle(box6, 3.1416F, 0.0F, 0.0F);
|
||||
box6.cubeList.add(new ModelBox(box6, 0, 0, -11.0F, -11.0F, 11.0F, 22, 22, 8, 0.0F, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5){
|
||||
mainGroup.render(f5);
|
||||
}
|
||||
|
||||
public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z){
|
||||
modelRenderer.rotateAngleX = x;
|
||||
modelRenderer.rotateAngleY = y;
|
||||
modelRenderer.rotateAngleZ = z;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package electroblob.wizardry.client.renderer.entity;
|
||||
|
||||
import electroblob.wizardry.Wizardry;
|
||||
import electroblob.wizardry.client.DrawingUtils;
|
||||
import electroblob.wizardry.client.model.ModelBoulder;
|
||||
import electroblob.wizardry.entity.construct.EntityBoulder;
|
||||
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;
|
||||
|
||||
public class RenderBoulder extends Render<EntityBoulder> {
|
||||
|
||||
private static final ResourceLocation TEXTURE = new ResourceLocation(Wizardry.MODID, "textures/entity/boulder.png");
|
||||
|
||||
private ModelBoulder model = new ModelBoulder();
|
||||
|
||||
public RenderBoulder(RenderManager manager){
|
||||
super(manager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doRender(EntityBoulder entity, double x, double y, double z, float yaw, float partialTicks){
|
||||
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate(x, y + 1.2, z);
|
||||
GlStateManager.rotate(180, 0F, 0F, 1F);
|
||||
GlStateManager.rotate(yaw - 90, 0, 1, 0);
|
||||
GlStateManager.rotate(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTicks, 0, 0, 1);
|
||||
GlStateManager.translate(0, entity.height/2 - 1.5, 0);
|
||||
|
||||
// Pass in -1 for the lifetime as the boulder crumbles when the time expires
|
||||
float s = DrawingUtils.smoothScaleFactor(-1, entity.ticksExisted, partialTicks, 10, 10);
|
||||
GlStateManager.scale(s, s, s);
|
||||
|
||||
this.bindTexture(TEXTURE);
|
||||
|
||||
model.render(entity, 0, 0, 0, 0, 0, 0.0625f);
|
||||
|
||||
GlStateManager.popMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(EntityBoulder entity){
|
||||
return TEXTURE;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user