mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
97 lines
2.5 KiB
Java
97 lines
2.5 KiB
Java
package com.hbm.entity.grenade;
|
|
|
|
import com.hbm.entity.projectile.EntityBullet;
|
|
import com.hbm.items.ModItems;
|
|
import com.hbm.items.weapon.ItemGrenade;
|
|
|
|
import net.minecraft.entity.EntityLivingBase;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.world.World;
|
|
|
|
public class EntityGrenadeIFBrimstone extends EntityGrenadeBouncyBase {
|
|
|
|
public EntityGrenadeIFBrimstone(World p_i1773_1_)
|
|
{
|
|
super(p_i1773_1_);
|
|
}
|
|
|
|
public EntityGrenadeIFBrimstone(World p_i1774_1_, EntityLivingBase p_i1774_2_)
|
|
{
|
|
super(p_i1774_1_, p_i1774_2_);
|
|
}
|
|
|
|
public EntityGrenadeIFBrimstone(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_)
|
|
{
|
|
super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_);
|
|
}
|
|
|
|
@Override
|
|
public void onUpdate() {
|
|
super.onUpdate();
|
|
|
|
if(this.timer > (this.getMaxTimer() * 0.65)) {
|
|
|
|
if(!worldObj.isRemote) {
|
|
EntityBullet fragment;
|
|
|
|
fragment = new EntityBullet(worldObj, (EntityPlayer) this.thrower, 3.0F, 35, 45, false, "tauDay");
|
|
fragment.setDamage(rand.nextInt(301) + 100);
|
|
|
|
fragment.motionX = rand.nextGaussian();
|
|
fragment.motionY = rand.nextGaussian();
|
|
fragment.motionZ = rand.nextGaussian();
|
|
fragment.shootingEntity = this.thrower;
|
|
|
|
fragment.posX = posX;
|
|
fragment.posY = posY;
|
|
fragment.posZ = posZ;
|
|
|
|
fragment.setIsCritical(true);
|
|
|
|
worldObj.spawnEntityInWorld(fragment);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void explode() {
|
|
|
|
if (!this.worldObj.isRemote)
|
|
{
|
|
this.setDead();
|
|
|
|
worldObj.newExplosion(this, posX, posY, posZ, 5, false, false);
|
|
|
|
for(int i = 0; i < 100; i++) {
|
|
EntityBullet fragment;
|
|
|
|
fragment = new EntityBullet(worldObj, (EntityPlayer) this.thrower, 3.0F, 35, 45, false, "tauDay");
|
|
fragment.setDamage(rand.nextInt(301) + 100);
|
|
|
|
fragment.motionX = rand.nextGaussian() * 0.25;
|
|
fragment.motionY = rand.nextGaussian() * 0.25;
|
|
fragment.motionZ = rand.nextGaussian() * 0.25;
|
|
fragment.shootingEntity = this.thrower;
|
|
|
|
fragment.posX = posX;
|
|
fragment.posY = posY;
|
|
fragment.posZ = posZ;
|
|
|
|
fragment.setIsCritical(true);
|
|
|
|
worldObj.spawnEntityInWorld(fragment);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected int getMaxTimer() {
|
|
return ItemGrenade.getFuseTicks(ModItems.grenade_if_brimstone);
|
|
}
|
|
|
|
@Override
|
|
protected double getBounceMod() {
|
|
return 0.25D;
|
|
}
|
|
}
|