Advertisement
Guest User

Untitled

a guest
Jul 1st, 2014
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 1.69 KB | None | 0 0
  1. package darkevilmac.karma.effect
  2.  
  3. import java.util.ArrayList
  4.  
  5. import cpw.mods.fml.common.eventhandler.SubscribeEvent
  6. import cpw.mods.fml.relauncher.Side
  7. import darkevilmac.karma.tools.KarmaUtils
  8. import net.minecraft.entity.EntityLiving
  9. import net.minecraft.entity.player.EntityPlayer
  10. import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent
  11.  
  12. /**
  13.  * Created by Darkevilmac on 6/25/2014.
  14.  */
  15. class MobIgnoreEffect extends KarmaEffect {
  16.  
  17.   var playersToCheck: ArrayList[String] = new ArrayList[String]()
  18.  
  19.   def init(player: String, side: Side) {
  20.     if (!playersToCheck.contains(player)) {
  21.       playersToCheck.add(player)
  22.     }
  23.   }
  24.  
  25.   def onUpdate(player: EntityPlayer, side: Side) {
  26.   }
  27.  
  28.   def finish(player: String, side: Side) {
  29.     var i: Int = 0
  30.     while (i < playersToCheck.size()) {
  31.       if (playersToCheck.get(i) == player) {
  32.         playersToCheck.remove(i)
  33.         return
  34.       }
  35.       i = i + 1;
  36.     }
  37.   }
  38.  
  39.   def shouldContinue(player: EntityPlayer, side: Side): Boolean = {
  40.     return KarmaUtils.getPlayerKarma(player) >= 950
  41.   }
  42.  
  43.   def canApply(player: EntityPlayer): Boolean = {
  44.     return KarmaUtils.getPlayerKarma(player) >= 950
  45.   }
  46.  
  47.   @SubscribeEvent
  48.   def onLivingSetAttackTarget(e: LivingSetAttackTargetEvent) {
  49.     if (!e.entity.worldObj.isRemote && e.target.isInstanceOf[EntityPlayer]) {
  50.       val player: EntityPlayer = e.target.asInstanceOf[EntityPlayer]
  51.       if (playersToCheck.contains(player.getCommandSenderName)) {
  52.         e.entityLiving.setRevengeTarget(null)
  53.         if (e.entityLiving.isInstanceOf[EntityLiving]) {
  54.           e.entityLiving.asInstanceOf[EntityLiving].setAttackTarget(null)
  55.         }
  56.       }
  57.     }
  58.   }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement