Advertisement
NovaViper

DoggyTalent Roar

Apr 1st, 2018
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.82 KB | None | 0 0
  1. package doggytalents.talent;
  2.  
  3. import java.util.Iterator;
  4. import java.util.List;
  5.  
  6. import doggytalents.api.inferface.ITalent;
  7. import doggytalents.entity.EntityDog;
  8. import doggytalents.lib.Constants;
  9. import net.minecraft.entity.EntityLivingBase;
  10. import net.minecraft.entity.monster.EntityMob;
  11. import net.minecraft.entity.monster.EntitySilverfish;
  12. import net.minecraft.entity.player.EntityPlayer;
  13. import net.minecraft.init.SoundEvents;
  14. import net.minecraft.potion.PotionEffect;
  15. import net.minecraft.util.DamageSource;
  16. import net.minecraft.util.math.AxisAlignedBB;
  17. import net.minecraft.util.math.MathHelper;
  18.  
  19. public class RoaringGale extends ITalent{
  20.  
  21.     int cooldown2;
  22.    
  23.     @Override
  24.     public void onLivingUpdate(EntityDog dog) {
  25.         int level = dog.talents.getLevel(this);
  26.         int masterOrder = dog.masterOrder();
  27.  
  28.         if (masterOrder == 4 && dog.getHealth() > Constants.lowHealthLevel && !dog.isChild()) {
  29.             if (level >= 0) {
  30.                 byte damage = (byte) level;
  31.  
  32.                 if (level == 5) {
  33.                     damage = 10;
  34.                 }
  35.  
  36.                 if (dog.getEntityWorld().isRemote) {
  37.                     if (this.cooldown2 > 0) {
  38.                         this.cooldown2--;
  39.                         // System.out.println(this.cooldown2);
  40.                     }
  41.                 }
  42.                 List<EntityMob> list = dog.world.<EntityMob>getEntitiesWithinAABB(EntityMob.class, dog.getEntityBoundingBox().grow(level * 4, 4D, level * 4).expand(0.0D, (double)dog.world.getHeight(), 0.0D));
  43.                 //List list = dog.world.getEntitiesWithinAABB(EntityMob.class, dog.getEntityBoundingBox().grow(level * 3, 4D, level * 3));
  44.                 //Iterator iterator = list.iterator();
  45.                 if(!list.isEmpty()) {
  46.                     for(EntityMob mob : list) {
  47.                         if (cooldown2 <= 0) {
  48.                             dog.playSound(SoundEvents.ENTITY_WOLF_GROWL, 1f, 1f);
  49.                             mob.spawnExplosionParticle();
  50.                             int knockback = level;
  51.                             mob.attackEntityFrom(DamageSource.GENERIC, damage);
  52.                             mob.addVelocity(-MathHelper.sin(mob.rotationYaw * (float) Math.PI / 180.0F) * knockback * 0.5F, 0.1D, MathHelper.cos(mob.rotationYaw * (float) Math.PI / 180.0F) * knockback * 0.5F);
  53.                             cooldown2 = level == 5 ? 20 : 50;
  54.                         }
  55.                     }
  56.                 }
  57.                 /*while (iterator.hasNext()) {
  58.                     EntityMob entityMob = (EntityMob) iterator.next();
  59.                     if (dog.getRNG().nextInt(20) == 0) {
  60.                         if (cooldown2 <= 0) {
  61.                             dog.playSound(SoundEvents.ENTITY_WOLF_GROWL, 1f, 1f);
  62.                             entityMob.spawnExplosionParticle();
  63.                             int knockback = level;
  64.                             entityMob.attackEntityFrom(DamageSource.GENERIC, damage);
  65.                             entityMob.addVelocity(-MathHelper.sin(entityMob.rotationYaw * (float) Math.PI / 180.0F) * knockback * 0.5F, 0.1D, MathHelper.cos(entityMob.rotationYaw * (float) Math.PI / 180.0F) * knockback * 0.5F);
  66.                             cooldown2 = level == 5 ? 20 : 50;
  67.                         }
  68.                     }
  69.                 }*/
  70.             }
  71.         }
  72.     }
  73.  
  74.    
  75.     @Override
  76.     public String getKey() {
  77.         return "roaringgale";
  78.     }
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement