Advertisement
The_red_Freak

Zombie.java

Mar 2nd, 2017
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.93 KB | None | 0 0
  1. package me.the_red_freak.zombietest.entities;
  2.  
  3. import java.util.LinkedHashSet;
  4.  
  5. import org.bukkit.craftbukkit.v1_11_R1.CraftWorld;
  6.  
  7. import me.the_red_freak.zombietest.util.Util;
  8. import net.minecraft.server.v1_11_R1.EntityHuman;
  9. import net.minecraft.server.v1_11_R1.EntityIronGolem;
  10. import net.minecraft.server.v1_11_R1.EntityPigZombie;
  11. import net.minecraft.server.v1_11_R1.EntityVillager;
  12. import net.minecraft.server.v1_11_R1.EntityZombie;
  13. import net.minecraft.server.v1_11_R1.PathfinderGoalFloat;
  14. import net.minecraft.server.v1_11_R1.PathfinderGoalHurtByTarget;
  15. import net.minecraft.server.v1_11_R1.PathfinderGoalLookAtPlayer;
  16. import net.minecraft.server.v1_11_R1.PathfinderGoalMoveThroughVillage;
  17. import net.minecraft.server.v1_11_R1.PathfinderGoalMoveTowardsRestriction;
  18. import net.minecraft.server.v1_11_R1.PathfinderGoalNearestAttackableTarget;
  19. import net.minecraft.server.v1_11_R1.PathfinderGoalRandomLookaround;
  20. import net.minecraft.server.v1_11_R1.PathfinderGoalRandomStrollLand;
  21. import net.minecraft.server.v1_11_R1.PathfinderGoalSelector;
  22. import net.minecraft.server.v1_11_R1.PathfinderGoalZombieAttack;
  23.  
  24. public class Zombie extends EntityZombie {
  25.  
  26.     @SuppressWarnings({ "rawtypes", "unchecked" })
  27.     public Zombie(org.bukkit.World world) {
  28.         super(((CraftWorld) world).getHandle());
  29.         LinkedHashSet goalB = (LinkedHashSet) Util.getPrivateField("b", PathfinderGoalSelector.class, goalSelector);
  30.         goalB.clear();
  31.         LinkedHashSet goalC = (LinkedHashSet) Util.getPrivateField("c", PathfinderGoalSelector.class, goalSelector);
  32.         goalC.clear();
  33.         LinkedHashSet targetB = (LinkedHashSet) Util.getPrivateField("b", PathfinderGoalSelector.class, targetSelector);
  34.         targetB.clear();
  35.         LinkedHashSet targetC = (LinkedHashSet) Util.getPrivateField("c", PathfinderGoalSelector.class, targetSelector);
  36.         targetC.clear();
  37.  
  38.         // Adding default goals which i got from the EntityZombie class (r() and
  39.         // dK())
  40.         this.goalSelector.a(0, new PathfinderGoalFloat(this));
  41.         this.goalSelector.a(2, new PathfinderGoalZombieAttack(this, 1.0D, false));
  42.         this.goalSelector.a(5, new PathfinderGoalMoveTowardsRestriction(this, 1.0D));
  43.         this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D));
  44.         this.goalSelector.a(8, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F));
  45.         this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this));
  46.  
  47.         this.goalSelector.a(6, new PathfinderGoalMoveThroughVillage(this, 1.0D, false));
  48.         this.targetSelector.a(1, new PathfinderGoalHurtByTarget(this, true, new Class[] { EntityPigZombie.class }));
  49.         this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget(this, EntityHuman.class, true));
  50.         this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(this, EntityVillager.class, false));
  51.         this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(this, EntityIronGolem.class, true));
  52.  
  53.         // this.setCustomName("CUSTOM ZOMBIE");
  54.         // this.setCustomNameVisible(true);
  55.  
  56.     }
  57.  
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement