Search in sources :

Example 1 with PathfinderGoalSelector

use of net.minecraft.server.v1_14_R1.PathfinderGoalSelector in project Citizens2 by CitizensDev.

the class NMSImpl method clearGoals.

public static void clearGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
    if (GOAL_SET_FIELD == null || goalSelectors == null)
        return;
    int i = 0;
    for (PathfinderGoalSelector selector : goalSelectors) {
        try {
            Collection<?> list = (Collection<?>) GOAL_SET_FIELD.invoke(selector);
            if (!list.isEmpty()) {
                npc.data().set("selector" + i, Lists.newArrayList(list));
            }
            list.clear();
        } catch (Exception e) {
            Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
        } catch (Throwable e) {
            Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
        }
        i++;
    }
}
Also used : Collection(java.util.Collection) PathfinderGoalSelector(net.minecraft.server.v1_16_R3.PathfinderGoalSelector) PathPoint(net.minecraft.server.v1_16_R3.PathPoint) ReportedException(net.minecraft.server.v1_16_R3.ReportedException) CommandException(net.citizensnpcs.api.command.exception.CommandException)

Example 2 with PathfinderGoalSelector

use of net.minecraft.server.v1_14_R1.PathfinderGoalSelector in project Citizens2 by CitizensDev.

the class NMSImpl method clearGoals.

public static void clearGoals(NPC npc, PathfinderGoalSelector... goalSelectors) {
    if (GOAL_SET_FIELD == null || goalSelectors == null)
        return;
    int i = 0;
    for (PathfinderGoalSelector selector : goalSelectors) {
        try {
            Collection<?> list = (Collection<?>) GOAL_SET_FIELD.invoke(selector);
            if (!list.isEmpty()) {
                npc.data().set("selector" + i, Lists.newArrayList(list));
            }
            list.clear();
        } catch (Exception e) {
            Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
        } catch (Throwable e) {
            Messaging.logTr(Messages.ERROR_CLEARING_GOALS, e.getLocalizedMessage());
        }
        i++;
    }
}
Also used : Collection(java.util.Collection) PathfinderGoalSelector(net.minecraft.server.v1_15_R1.PathfinderGoalSelector) PathPoint(net.minecraft.server.v1_15_R1.PathPoint) ReportedException(net.minecraft.server.v1_15_R1.ReportedException) CommandException(net.citizensnpcs.api.command.exception.CommandException)

Example 3 with PathfinderGoalSelector

use of net.minecraft.server.v1_14_R1.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++;
    }
}
Also used : Collection(java.util.Collection) DataWatcherObject(net.minecraft.server.v1_15_R1.DataWatcherObject) PathfinderGoalSelector(net.minecraft.server.v1_15_R1.PathfinderGoalSelector) PathPoint(net.minecraft.server.v1_15_R1.PathPoint) ReportedException(net.minecraft.server.v1_15_R1.ReportedException) CommandException(net.citizensnpcs.api.command.exception.CommandException)

Example 4 with PathfinderGoalSelector

use of net.minecraft.server.v1_14_R1.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());
        }
    }
}
Also used : Collection(java.util.Collection) PathfinderGoalSelector(net.minecraft.server.v1_11_R1.PathfinderGoalSelector) ReportedException(net.minecraft.server.v1_11_R1.ReportedException) CommandException(net.citizensnpcs.api.command.exception.CommandException)

Example 5 with PathfinderGoalSelector

use of net.minecraft.server.v1_14_R1.PathfinderGoalSelector in project UltraCosmetics by iSach.

the class MountCustomEntity method removeAI.

private void removeAI(EntityInsentient entity) {
    try {
        Field bField = PathfinderGoalSelector.class.getDeclaredField("b");
        bField.setAccessible(true);
        Field cField = PathfinderGoalSelector.class.getDeclaredField("c");
        cField.setAccessible(true);
        bField.set(entity.goalSelector, new UnsafeList<PathfinderGoalSelector>());
        bField.set(entity.targetSelector, new UnsafeList<PathfinderGoalSelector>());
        cField.set(entity.goalSelector, new UnsafeList<PathfinderGoalSelector>());
        cField.set(entity.targetSelector, new UnsafeList<PathfinderGoalSelector>());
    } catch (ReflectiveOperationException exc) {
        exc.printStackTrace();
    }
}
Also used : Field(java.lang.reflect.Field) PathfinderGoalSelector(net.minecraft.server.v1_8_R3.PathfinderGoalSelector)

Aggregations

Collection (java.util.Collection)10 CommandException (net.citizensnpcs.api.command.exception.CommandException)10 PathfinderGoalSelector (net.minecraft.server.v1_8_R3.PathfinderGoalSelector)3 Field (java.lang.reflect.Field)2 PathfinderGoalSelector (net.minecraft.server.v1_12_R1.PathfinderGoalSelector)2 PathPoint (net.minecraft.server.v1_15_R1.PathPoint)2 PathfinderGoalSelector (net.minecraft.server.v1_15_R1.PathfinderGoalSelector)2 ReportedException (net.minecraft.server.v1_15_R1.ReportedException)2 PathPoint (net.minecraft.server.v1_16_R3.PathPoint)2 PathfinderGoalSelector (net.minecraft.server.v1_16_R3.PathfinderGoalSelector)2 ReportedException (net.minecraft.server.v1_16_R3.ReportedException)2 PathfinderGoalSelector (net.minecraft.server.v1_10_R1.PathfinderGoalSelector)1 ReportedException (net.minecraft.server.v1_10_R1.ReportedException)1 PathfinderGoalSelector (net.minecraft.server.v1_11_R1.PathfinderGoalSelector)1 ReportedException (net.minecraft.server.v1_11_R1.ReportedException)1 EntityRabbit (net.minecraft.server.v1_12_R1.EntityRabbit)1 ReportedException (net.minecraft.server.v1_12_R1.ReportedException)1 World (net.minecraft.server.v1_12_R1.World)1 PathfinderGoalSelector (net.minecraft.server.v1_13_R2.PathfinderGoalSelector)1 ReportedException (net.minecraft.server.v1_13_R2.ReportedException)1