package be.isach.ultracosmetics.v1_9_R1; import be.isach.ultracosmetics.version.IPathfinderUtil; import com.google.common.collect.Sets; import net.minecraft.server.v1_9_R1.EntityInsentient; import net.minecraft.server.v1_9_R1.PathfinderGoalSelector; import org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity; import org.bukkit.entity.Entity; import java.lang.reflect.Field; /** * Created by Sacha on 7/03/16. */ public class PathfinderUtil implements IPathfinderUtil { @Override public void removePathFinders(Entity entity) { net.minecraft.server.v1_9_R1.Entity nmsEntity = ((CraftEntity) entity).getHandle(); try { Field bField = PathfinderGoalSelector.class.getDeclaredField("b"); bField.setAccessible(true); Field cField = PathfinderGoalSelector.class.getDeclaredField("c"); cField.setAccessible(true); bField.set(((EntityInsentient) nmsEntity).goalSelector, Sets.newLinkedHashSet()); bField.set(((EntityInsentient) nmsEntity).targetSelector, Sets.newLinkedHashSet()); cField.set(((EntityInsentient) nmsEntity).goalSelector, Sets.newLinkedHashSet()); cField.set(((EntityInsentient) nmsEntity).targetSelector, Sets.newLinkedHashSet()); } catch (Exception exc) { exc.printStackTrace(); } } }