-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
afroraydude
committed
Sep 15, 2013
1 parent
d9c4ded
commit 118b0b9
Showing
15 changed files
with
510 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
package com.emc.entity.common; | ||
|
||
import net.minecraft.entity.EnumCreatureAttribute; | ||
import net.minecraft.entity.SharedMonsterAttributes; | ||
import net.minecraft.entity.ai.EntityAIAttackOnCollide; | ||
import net.minecraft.entity.ai.EntityAIHurtByTarget; | ||
import net.minecraft.entity.ai.EntityAILookIdle; | ||
import net.minecraft.entity.ai.EntityAINearestAttackableTarget; | ||
import net.minecraft.entity.ai.EntityAISwimming; | ||
import net.minecraft.entity.ai.EntityAIWander; | ||
import net.minecraft.entity.ai.EntityAIWatchClosest; | ||
import net.minecraft.entity.monster.EntityCaveSpider; | ||
import net.minecraft.entity.monster.EntityCreeper; | ||
import net.minecraft.entity.monster.EntityMob; | ||
import net.minecraft.entity.monster.EntitySlime; | ||
import net.minecraft.entity.monster.EntitySpider; | ||
import net.minecraft.entity.monster.EntityWitch; | ||
import net.minecraft.entity.monster.EntityZombie; | ||
import net.minecraft.entity.passive.EntityVillager; | ||
import net.minecraft.entity.player.EntityPlayer; | ||
import net.minecraft.item.Item; | ||
import net.minecraft.world.World; | ||
|
||
public class EntityMiner extends EntityMob{ | ||
|
||
public EntityMiner(World par1World) { | ||
super(par1World); | ||
this.experienceValue = 10; | ||
this.tasks.addTask(0, new EntityAISwimming(this)); | ||
this.tasks.addTask(1, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); | ||
this.tasks.addTask(2, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); | ||
this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); | ||
this.targetTasks.addTask(4, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, false)); | ||
this.targetTasks.addTask(5, new EntityAINearestAttackableTarget(this, EntityZombie.class, 0, false)); | ||
this.targetTasks.addTask(6, new EntityAINearestAttackableTarget(this, EntityCreeper.class, 0, false)); | ||
this.targetTasks.addTask(7, new EntityAINearestAttackableTarget(this, EntitySpider.class, 0, false)); | ||
this.targetTasks.addTask(8, new EntityAINearestAttackableTarget(this, EntityCaveSpider.class, 0, false)); | ||
this.targetTasks.addTask(9, new EntityAINearestAttackableTarget(this, EntityWitch.class, 0, false)); | ||
this.targetTasks.addTask(10, new EntityAINearestAttackableTarget(this, EntitySlime.class, 0, false)); | ||
this.tasks.addTask(11, new EntityAIWander(this, 1.0D)); | ||
this.tasks.addTask(12, new EntityAILookIdle(this)); | ||
this.targetTasks.addTask(13, new EntityAIHurtByTarget(this, true)); | ||
} | ||
protected boolean isAIEnabled() | ||
{ | ||
return true; | ||
} | ||
|
||
protected void func_110147_ax() | ||
{ | ||
super.func_110147_ax(); | ||
this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(25.0D);//Health | ||
|
||
this.func_110148_a(SharedMonsterAttributes.field_111264_e).func_111128_a(5.0D);//Attack | ||
} | ||
protected String HurtSound() { | ||
return "mob.zombie.death"; | ||
} | ||
protected void playStepSound(int par1, int par2, int par3, int par4) { | ||
this.playSound("mob.zombie.step", 0.15F, 1.0F); | ||
} | ||
protected int getDropItemId() { | ||
return Item.pickaxeIron.itemID; | ||
} | ||
protected void dropRareDrop(int par1) { | ||
switch (this.rand.nextInt(3)) { | ||
case 0: | ||
this.dropItem(Item.pickaxeDiamond.itemID, 1); | ||
break; | ||
} | ||
} | ||
public EnumCreatureAttribute getCreatureAttribute() { | ||
return EnumCreatureAttribute.UNDEAD; | ||
} | ||
public void onLivingUpdate() { | ||
super.onLivingUpdate(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
package com.emc.entity.model; | ||
|
||
import net.minecraft.client.model.ModelBase; | ||
import net.minecraft.client.model.ModelRenderer; | ||
import net.minecraft.entity.Entity; | ||
import net.minecraft.util.MathHelper; | ||
|
||
public class ModelMiner extends ModelBase | ||
{ | ||
//fields | ||
ModelRenderer head; | ||
ModelRenderer body; | ||
ModelRenderer rightarm; | ||
ModelRenderer leftarm; | ||
ModelRenderer rightleg; | ||
ModelRenderer leftleg; | ||
public ModelMiner() | ||
{ | ||
textureWidth = 64; | ||
textureHeight = 32; | ||
|
||
head = new ModelRenderer(this, 0, 0); | ||
head.addBox(-4F, -8F, -4F, 8, 8, 8); | ||
head.setRotationPoint(0F, 0F, 0F); | ||
head.setTextureSize(64, 32); | ||
head.mirror = true; | ||
setRotation(head, 0F, 0F, 0F); | ||
body = new ModelRenderer(this, 16, 16); | ||
body.addBox(-4F, 0F, -2F, 8, 12, 4); | ||
body.setRotationPoint(0F, 0F, 0F); | ||
body.setTextureSize(64, 32); | ||
body.mirror = true; | ||
setRotation(body, 0F, 0F, 0F); | ||
rightarm = new ModelRenderer(this, 40, 16); | ||
rightarm.addBox(-3F, -2F, -2F, 4, 12, 4); | ||
rightarm.setRotationPoint(-5F, 2F, 0F); | ||
rightarm.setTextureSize(64, 32); | ||
rightarm.mirror = true; | ||
setRotation(rightarm, 0F, 0F, 0F); | ||
leftarm = new ModelRenderer(this, 40, 16); | ||
leftarm.addBox(-1F, -2F, -2F, 4, 12, 4); | ||
leftarm.setRotationPoint(5F, 2F, 0F); | ||
leftarm.setTextureSize(64, 32); | ||
leftarm.mirror = true; | ||
setRotation(leftarm, 0F, 0F, 0F); | ||
rightleg = new ModelRenderer(this, 0, 16); | ||
rightleg.addBox(-2F, 0F, -2F, 4, 12, 4); | ||
rightleg.setRotationPoint(-2F, 12F, 0F); | ||
rightleg.setTextureSize(64, 32); | ||
rightleg.mirror = true; | ||
setRotation(rightleg, 0F, 0F, 0F); | ||
leftleg = new ModelRenderer(this, 0, 16); | ||
leftleg.addBox(-2F, 0F, -2F, 4, 12, 4); | ||
leftleg.setRotationPoint(2F, 12F, 0F); | ||
leftleg.setTextureSize(64, 32); | ||
leftleg.mirror = true; | ||
setRotation(leftleg, 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); | ||
head.render(f5); | ||
body.render(f5); | ||
rightarm.render(f5); | ||
leftarm.render(f5); | ||
rightleg.render(f5); | ||
leftleg.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 par6Entity) | ||
{ | ||
this.head.rotateAngleY = f3 / (180F / (float)Math.PI); | ||
this.head.rotateAngleX = f4 / (170F / (float)Math.PI); | ||
|
||
this.leftleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 2.0F * f1 * 0.5F; | ||
this.leftleg.rotateAngleY = 0.0F; | ||
|
||
this.rightleg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; | ||
this.rightleg.rotateAngleY = 0.0F; | ||
|
||
this.leftarm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 2.0F * f1 * 0.5F; | ||
this.leftarm.rotateAngleY = 0.0F; | ||
|
||
this.rightarm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 2.0F * f1 * 0.5F; | ||
this.rightarm.rotateAngleY = 0.0F; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
// Date: 8/29/2013 10:58:46 PM | ||
// Template version 1.1 | ||
// Java generated by Techne | ||
// Keep in mind that you still need to fill in some blanks | ||
// - ZeuX | ||
|
||
|
||
|
||
|
||
|
||
|
||
package com.emc.entity.model; | ||
|
||
import net.minecraft.client.model.ModelBase; | ||
import net.minecraft.client.model.ModelRenderer; | ||
import net.minecraft.entity.Entity; | ||
|
||
public class ModelTESTTESTTEST extends ModelBase | ||
{ | ||
//fields | ||
ModelRenderer head; | ||
ModelRenderer body; | ||
ModelRenderer rightarm; | ||
ModelRenderer leftarm; | ||
ModelRenderer rightleg; | ||
ModelRenderer leftleg; | ||
|
||
public ModelTESTTESTTEST() | ||
{ | ||
textureWidth = 64; | ||
textureHeight = 32; | ||
|
||
head = new ModelRenderer(this, 0, 0); | ||
head.addBox(-4F, -8F, -4F, 8, 8, 8); | ||
head.setRotationPoint(0F, 0F, 0F); | ||
head.setTextureSize(64, 32); | ||
head.mirror = true; | ||
setRotation(head, 0F, 0F, 0F); | ||
body = new ModelRenderer(this, 16, 16); | ||
body.addBox(-4F, 0F, -2F, 8, 12, 4); | ||
body.setRotationPoint(0F, 0F, 0F); | ||
body.setTextureSize(64, 32); | ||
body.mirror = true; | ||
setRotation(body, 0F, 0F, 0F); | ||
rightarm = new ModelRenderer(this, 40, 16); | ||
rightarm.addBox(-3F, -2F, -2F, 4, 12, 4); | ||
rightarm.setRotationPoint(-5F, 2F, 0F); | ||
rightarm.setTextureSize(64, 32); | ||
rightarm.mirror = true; | ||
setRotation(rightarm, 0F, 0F, 0F); | ||
leftarm = new ModelRenderer(this, 40, 16); | ||
leftarm.addBox(-1F, -2F, -2F, 4, 12, 4); | ||
leftarm.setRotationPoint(5F, 2F, 0F); | ||
leftarm.setTextureSize(64, 32); | ||
leftarm.mirror = true; | ||
setRotation(leftarm, 0F, 0F, 0F); | ||
rightleg = new ModelRenderer(this, 0, 16); | ||
rightleg.addBox(-2F, 0F, -2F, 4, 12, 4); | ||
rightleg.setRotationPoint(-2F, 12F, 0F); | ||
rightleg.setTextureSize(64, 32); | ||
rightleg.mirror = true; | ||
setRotation(rightleg, 0F, 0F, 0F); | ||
leftleg = new ModelRenderer(this, 0, 16); | ||
leftleg.addBox(-2F, 0F, -2F, 4, 12, 4); | ||
leftleg.setRotationPoint(2F, 12F, 0F); | ||
leftleg.setTextureSize(64, 32); | ||
leftleg.mirror = true; | ||
setRotation(leftleg, 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); | ||
head.render(f5); | ||
body.render(f5); | ||
rightarm.render(f5); | ||
leftarm.render(f5); | ||
rightleg.render(f5); | ||
leftleg.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) | ||
{ | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
package com.emc.entity.render; | ||
|
||
import com.emc.*; | ||
import com.emc.entity.common.EntityMiner; | ||
import com.emc.entity.model.ModelMiner; | ||
|
||
import net.minecraft.client.model.ModelBase; | ||
import net.minecraft.client.renderer.entity.RenderLiving; | ||
import net.minecraft.entity.Entity; | ||
import net.minecraft.entity.EntityLiving; | ||
import net.minecraft.util.ResourceLocation; | ||
|
||
public class RenderMiner extends RenderLiving { | ||
protected ModelMiner model; | ||
|
||
public RenderMiner(ModelBase par1ModelBase, float par2) { | ||
super(par1ModelBase, par2); | ||
model = ((ModelMiner)mainModel); | ||
} | ||
|
||
public void renderMiner(EntityMiner entity, double par2, double par4, double par6, float par8, float par9) { | ||
super.doRenderLiving(entity, par2, par4, par6, par8, par9); | ||
} | ||
|
||
public void doRenerLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { | ||
renderMiner((EntityMiner)par1EntityLiving, par2, par4, par6, par8, par9); | ||
} | ||
|
||
@Override | ||
public void doRender(Entity entity, double d0, double d1, double d2, float f, float f1) { | ||
renderMiner((EntityMiner)entity, d0, d1, d2, f, f1); | ||
} | ||
|
||
@Override | ||
protected ResourceLocation func_110775_a(Entity entity) { | ||
return new ResourceLocation("crosslib:textures/mobs/Miner.png"); | ||
} | ||
} |
Oops, something went wrong.