use of net.minecraft.server.v1_8_R3.PathfinderGoalSelector in project UltraCosmetics by iSach.
the class EntityUtil method clearPathfinders.
@Override
public void clearPathfinders(Entity entity) {
EntityInsentient entitySheep = (EntityInsentient) ((CraftEntity) entity).getHandle();
try {
Field bField = PathfinderGoalSelector.class.getDeclaredField("b");
bField.setAccessible(true);
Field cField = PathfinderGoalSelector.class.getDeclaredField("c");
cField.setAccessible(true);
bField.set(entitySheep.goalSelector, new UnsafeList<PathfinderGoalSelector>());
bField.set(entitySheep.targetSelector, new UnsafeList<PathfinderGoalSelector>());
cField.set(entitySheep.goalSelector, new UnsafeList<PathfinderGoalSelector>());
cField.set(entitySheep.targetSelector, new UnsafeList<PathfinderGoalSelector>());
} catch (Exception exc) {
exc.printStackTrace();
}
}
use of net.minecraft.server.v1_8_R3.PathfinderGoalSelector in project PaperDev by Kamillaova.
the class CraftRabbit method setRabbitType.
@Override
public void setRabbitType(Type type) {
EntityRabbit entity = getHandle();
if (getRabbitType() == Type.THE_KILLER_BUNNY) {
// Reset goals and target finders.
World world = ((CraftWorld) this.getWorld()).getHandle();
entity.goalSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null);
entity.targetSelector = new PathfinderGoalSelector(world != null && world.methodProfiler != null ? world.methodProfiler : null);
entity.initializePathFinderGoals();
}
entity.setRabbitType(CraftMagicMapping.toMagic(type));
}
use of net.minecraft.server.v1_8_R3.PathfinderGoalSelector in project Citizens2 by CitizensDev.
the class NMSImpl method clearGoals.
public static void clearGoals(PathfinderGoalSelector... goalSelectors) {
if (GOAL_FIELD == null || goalSelectors == null)
return;
for (PathfinderGoalSelector selector : goalSelectors) {
try {
Collection<?> list = (Collection<?>) GOAL_FIELD.get(selector);
list.clear();
} catch (Exception e) {
Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
}
}
}
use of net.minecraft.server.v1_8_R3.PathfinderGoalSelector in project Citizens2 by CitizensDev.
the class NMSImpl method clearGoals.
public static void clearGoals(PathfinderGoalSelector... goalSelectors) {
if (GOAL_FIELD == null || goalSelectors == null)
return;
for (PathfinderGoalSelector selector : goalSelectors) {
try {
Collection<?> list = (Collection<?>) GOAL_FIELD.get(selector);
list.clear();
} catch (Exception e) {
Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
}
}
}
use of net.minecraft.server.v1_8_R3.PathfinderGoalSelector in project Citizens2 by CitizensDev.
the class NMSImpl method restoreGoals.
public static void restoreGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
if (GOAL_SET_FIELD == null || goalSelectors == null)
return;
int i = 0;
for (PathfinderGoalSelector selector : goalSelectors) {
try {
Collection<Object> list = (Collection<Object>) GOAL_SET_FIELD.invoke(selector);
list.clear();
Collection<Object> old = npc.data().get("selector" + i);
if (old != null) {
list.addAll(old);
}
} catch (Exception e) {
Messaging.logTr(Messages.ERROR_RESTORING_GOALS, e.getLocalizedMessage());
} catch (Throwable e) {
Messaging.logTr(Messages.ERROR_RESTORING_GOALS, e.getLocalizedMessage());
}
i++;
}
}
Aggregations