Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.the_red_freak.zombietest.entities;
- import java.util.LinkedHashSet;
- import org.bukkit.craftbukkit.v1_11_R1.CraftWorld;
- import me.the_red_freak.zombietest.util.Util;
- import net.minecraft.server.v1_11_R1.EntityHuman;
- import net.minecraft.server.v1_11_R1.EntityIronGolem;
- import net.minecraft.server.v1_11_R1.EntityPigZombie;
- import net.minecraft.server.v1_11_R1.EntityVillager;
- import net.minecraft.server.v1_11_R1.EntityZombie;
- import net.minecraft.server.v1_11_R1.PathfinderGoalFloat;
- import net.minecraft.server.v1_11_R1.PathfinderGoalHurtByTarget;
- import net.minecraft.server.v1_11_R1.PathfinderGoalLookAtPlayer;
- import net.minecraft.server.v1_11_R1.PathfinderGoalMoveThroughVillage;
- import net.minecraft.server.v1_11_R1.PathfinderGoalMoveTowardsRestriction;
- import net.minecraft.server.v1_11_R1.PathfinderGoalNearestAttackableTarget;
- import net.minecraft.server.v1_11_R1.PathfinderGoalRandomLookaround;
- import net.minecraft.server.v1_11_R1.PathfinderGoalRandomStrollLand;
- import net.minecraft.server.v1_11_R1.PathfinderGoalSelector;
- import net.minecraft.server.v1_11_R1.PathfinderGoalZombieAttack;
- public class Zombie extends EntityZombie {
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public Zombie(org.bukkit.World world) {
- super(((CraftWorld) world).getHandle());
- LinkedHashSet goalB = (LinkedHashSet) Util.getPrivateField("b", PathfinderGoalSelector.class, goalSelector);
- goalB.clear();
- LinkedHashSet goalC = (LinkedHashSet) Util.getPrivateField("c", PathfinderGoalSelector.class, goalSelector);
- goalC.clear();
- LinkedHashSet targetB = (LinkedHashSet) Util.getPrivateField("b", PathfinderGoalSelector.class, targetSelector);
- targetB.clear();
- LinkedHashSet targetC = (LinkedHashSet) Util.getPrivateField("c", PathfinderGoalSelector.class, targetSelector);
- targetC.clear();
- // Adding default goals which i got from the EntityZombie class (r() and
- // dK())
- this.goalSelector.a(0, new PathfinderGoalFloat(this));
- this.goalSelector.a(2, new PathfinderGoalZombieAttack(this, 1.0D, false));
- this.goalSelector.a(5, new PathfinderGoalMoveTowardsRestriction(this, 1.0D));
- this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D));
- this.goalSelector.a(8, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F));
- this.goalSelector.a(8, new PathfinderGoalRandomLookaround(this));
- this.goalSelector.a(6, new PathfinderGoalMoveThroughVillage(this, 1.0D, false));
- this.targetSelector.a(1, new PathfinderGoalHurtByTarget(this, true, new Class[] { EntityPigZombie.class }));
- this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget(this, EntityHuman.class, true));
- this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(this, EntityVillager.class, false));
- this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget(this, EntityIronGolem.class, true));
- // this.setCustomName("CUSTOM ZOMBIE");
- // this.setCustomNameVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement