Created all code necessary to summon the portal. I'm awesome, I know.

This commit is contained in:
WayofTime 2014-12-04 14:31:31 -05:00
parent 832ed15060
commit 9b0fa9b052
37 changed files with 915 additions and 89 deletions

View file

@ -32,6 +32,12 @@ public class ExplosionProjectile extends EnergyBlastProjectile
super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch);
causesEnvDamage = flag;
}
public ExplosionProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir, boolean flag)
{
super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir);
causesEnvDamage = flag;
}
@Override
public DamageSource getDamageSource()
@ -48,6 +54,8 @@ public class ExplosionProjectile extends EnergyBlastProjectile
{
return;
}
this.onImpact(mop.entityHit);
worldObj.createExplosion(this, this.posX, this.posY, this.posZ, (float) (2), causesEnvDamage);
} else if (mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
@ -69,20 +77,10 @@ public class ExplosionProjectile extends EnergyBlastProjectile
{
if (mop instanceof EntityLivingBase)
{
if (((EntityLivingBase) mop).isImmuneToFire())
{
doDamage((int) (projectileDamage), mop);
} else
{
doDamage(projectileDamage, mop);
}
doDamage(projectileDamage, mop);
}
}
if (worldObj.isAirBlock((int) this.posX, (int) this.posY, (int) this.posZ))
{
}
spawnHitParticles("magicCrit", 8);
this.setDead();
}

View file

@ -83,7 +83,7 @@ public class FireProjectile extends EnergyBlastProjectile
{
if (mop instanceof EntityLivingBase)
{
((EntityLivingBase) mop).setFire(50);
((EntityLivingBase) mop).setFire(10 * this.projectileDamage);
((EntityLivingBase) mop).setRevengeTarget(shootingEntity);
if (((EntityLivingBase) mop).isPotionActive(Potion.fireResistance) || ((EntityLivingBase) mop).isImmuneToFire())

View file

@ -1,7 +1,5 @@
package WayofTime.alchemicalWizardry.common.entity.projectile;
import WayofTime.alchemicalWizardry.common.entity.mob.EntityIceDemon;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.potion.Potion;
@ -9,6 +7,7 @@ import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
public class IceProjectile extends EnergyBlastProjectile
{
@ -31,10 +30,10 @@ public class IceProjectile extends EnergyBlastProjectile
{
super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch);
}
public IceProjectile(World worldObj, EntityIceDemon entityIceDemon, EntityLivingBase par1EntityLivingBase, float f, float g, int i, int j)
public IceProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir)
{
super(worldObj, entityIceDemon, par1EntityLivingBase, f, g, i, j);
super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir);
}
@Override

View file

@ -28,6 +28,11 @@ public class WindGustProjectile extends EnergyBlastProjectile
{
super(par1World, par2EntityPlayer, damage, maxTicksInAir, posX, posY, posZ, rotationYaw, rotationPitch);
}
public WindGustProjectile(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5, int damage, int maxTicksInAir)
{
super(par1World, par2EntityLivingBase, par3EntityLivingBase, par4, par5, damage, maxTicksInAir);
}
@Override
public DamageSource getDamageSource()
@ -63,9 +68,9 @@ public class WindGustProjectile extends EnergyBlastProjectile
{
if (mop instanceof EntityLivingBase)
{
((EntityLivingBase) mop).motionX = this.motionX * 2;
((EntityLivingBase) mop).motionX = this.motionX * 0.25*this.projectileDamage;
((EntityLivingBase) mop).motionY = 1.5;
((EntityLivingBase) mop).motionZ = this.motionZ * 2;
((EntityLivingBase) mop).motionZ = this.motionZ * 0.25*this.projectileDamage;
}
}