Search in sources :

Example 41 with EntityHumanNPC

use of net.citizensnpcs.nms.v1_13_R2.entity.EntityHumanNPC in project Citizens2 by CitizensDev.

the class PlayerPathfinder method findPath.

public Path findPath(PathNavigationRegion var0, EntityHumanNPC var1, Set<BlockPos> var2, float var3, int var4, float var5) {
    this.openSet.clear();
    this.nodeEvaluator.prepare(var0, var1);
    Node var6 = this.nodeEvaluator.getStart();
    Map<Target, BlockPos> var7 = var2.stream().collect(Collectors.toMap(p -> this.nodeEvaluator.getGoal(p.getX(), p.getY(), p.getZ()), Function.identity()));
    Path var8 = findPath(var0.getProfiler(), var6, var7, var3, var4, var5);
    this.nodeEvaluator.done();
    return var8;
}
Also used : EntityHumanNPC(net.citizensnpcs.nms.v1_18_R2.entity.EntityHumanNPC) Path(net.minecraft.world.level.pathfinder.Path) ProfilerFiller(net.minecraft.util.profiling.ProfilerFiller) Set(java.util.Set) Setting(net.citizensnpcs.Settings.Setting) BinaryHeap(net.minecraft.world.level.pathfinder.BinaryHeap) Function(java.util.function.Function) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) List(java.util.List) Stream(java.util.stream.Stream) Lists(com.google.common.collect.Lists) BlockPos(net.minecraft.core.BlockPos) Target(net.minecraft.world.level.pathfinder.Target) Map(java.util.Map) MetricCategory(net.minecraft.util.profiling.metrics.MetricCategory) PathFinder(net.minecraft.world.level.pathfinder.PathFinder) Optional(java.util.Optional) Comparator(java.util.Comparator) Mob(net.minecraft.world.entity.Mob) PathNavigationRegion(net.minecraft.world.level.PathNavigationRegion) Node(net.minecraft.world.level.pathfinder.Node) Path(net.minecraft.world.level.pathfinder.Path) Target(net.minecraft.world.level.pathfinder.Target) Node(net.minecraft.world.level.pathfinder.Node) BlockPos(net.minecraft.core.BlockPos)

Example 42 with EntityHumanNPC

use of net.citizensnpcs.nms.v1_13_R2.entity.EntityHumanNPC in project Citizens2 by CitizensDev.

the class NMSImpl method setShouldJump.

@Override
public void setShouldJump(org.bukkit.entity.Entity entity) {
    Entity handle = NMSImpl.getHandle(entity);
    if (handle == null)
        return;
    if (handle instanceof Mob) {
        JumpControl controller = ((Mob) handle).getJumpControl();
        controller.jump();
    } else if (handle instanceof EntityHumanNPC) {
        ((EntityHumanNPC) handle).setShouldJump();
    }
}
Also used : TrackedEntity(net.minecraft.server.level.ChunkMap.TrackedEntity) FallingBlockEntity(net.minecraft.world.entity.item.FallingBlockEntity) SkinnableEntity(net.citizensnpcs.npc.skin.SkinnableEntity) Entity(net.minecraft.world.entity.Entity) CraftEntity(org.bukkit.craftbukkit.v1_18_R2.entity.CraftEntity) LivingEntity(net.minecraft.world.entity.LivingEntity) Mob(net.minecraft.world.entity.Mob) JumpControl(net.minecraft.world.entity.ai.control.JumpControl) EntityHumanNPC(net.citizensnpcs.nms.v1_18_R2.entity.EntityHumanNPC)

Example 43 with EntityHumanNPC

use of net.citizensnpcs.nms.v1_13_R2.entity.EntityHumanNPC in project Citizens2 by CitizensDev.

the class PlayerlistTrackerEntry method updatePlayer.

@Override
public void updatePlayer(final EntityPlayer entityplayer) {
    // prevent updates to NPC "viewers"
    if (entityplayer instanceof EntityHumanNPC)
        return;
    Entity tracker = getTracker(this);
    if (entityplayer != tracker && c(entityplayer)) {
        if (!this.trackedPlayers.contains(entityplayer) && ((entityplayer.x().getPlayerChunkMap().a(entityplayer, tracker.ab, tracker.ad)) || (tracker.attachedToPlayer))) {
            if ((tracker instanceof SkinnableEntity)) {
                SkinnableEntity skinnable = (SkinnableEntity) tracker;
                Player player = skinnable.getBukkitEntity();
                if (!entityplayer.getBukkitEntity().canSee(player))
                    return;
                skinnable.getSkinTracker().updateViewer(entityplayer.getBukkitEntity());
            }
        }
    }
    super.updatePlayer(entityplayer);
}
Also used : Entity(net.minecraft.server.v1_12_R1.Entity) SkinnableEntity(net.citizensnpcs.npc.skin.SkinnableEntity) EntityPlayer(net.minecraft.server.v1_12_R1.EntityPlayer) Player(org.bukkit.entity.Player) SkinnableEntity(net.citizensnpcs.npc.skin.SkinnableEntity) EntityHumanNPC(net.citizensnpcs.nms.v1_12_R1.entity.EntityHumanNPC)

Example 44 with EntityHumanNPC

use of net.citizensnpcs.nms.v1_13_R2.entity.EntityHumanNPC in project Citizens2 by CitizensDev.

the class NMSImpl method updateAI.

public static void updateAI(EntityLiving entity) {
    if (entity instanceof EntityInsentient) {
        EntityInsentient handle = (EntityInsentient) entity;
        handle.getEntitySenses().a();
        NMSImpl.updateNavigation(handle.getNavigation());
        handle.getControllerMove().c();
        handle.getControllerLook().a();
        handle.getControllerJump().b();
    } else if (entity instanceof EntityHumanNPC) {
        ((EntityHumanNPC) entity).updateAI();
    }
}
Also used : EntityInsentient(net.minecraft.server.v1_8_R3.EntityInsentient) EntityHumanNPC(net.citizensnpcs.nms.v1_8_R3.entity.EntityHumanNPC)

Example 45 with EntityHumanNPC

use of net.citizensnpcs.nms.v1_13_R2.entity.EntityHumanNPC in project Citizens2 by CitizensDev.

the class NMSImpl method getDestination.

@Override
public Location getDestination(org.bukkit.entity.Entity entity) {
    Entity handle = getHandle(entity);
    ControllerMove controller = handle instanceof EntityInsentient ? ((EntityInsentient) handle).getControllerMove() : handle instanceof EntityHumanNPC ? ((EntityHumanNPC) handle).getControllerMove() : null;
    return new Location(entity.getWorld(), controller.d(), controller.e(), controller.f());
}
Also used : PathEntity(net.minecraft.server.v1_8_R3.PathEntity) LivingEntity(org.bukkit.entity.LivingEntity) Entity(net.minecraft.server.v1_8_R3.Entity) CraftEntity(org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity) SkinnableEntity(net.citizensnpcs.npc.skin.SkinnableEntity) EntityInsentient(net.minecraft.server.v1_8_R3.EntityInsentient) ControllerMove(net.minecraft.server.v1_8_R3.ControllerMove) EntityHumanNPC(net.citizensnpcs.nms.v1_8_R3.entity.EntityHumanNPC) Location(org.bukkit.Location)

Aggregations

SkinnableEntity (net.citizensnpcs.npc.skin.SkinnableEntity)44 LivingEntity (org.bukkit.entity.LivingEntity)32 Location (org.bukkit.Location)20 Mob (net.minecraft.world.entity.Mob)14 Player (org.bukkit.entity.Player)12 Set (java.util.Set)10 EntityHumanNPC (net.citizensnpcs.nms.v1_12_R1.entity.EntityHumanNPC)10 TrackedEntity (net.minecraft.server.level.ChunkMap.TrackedEntity)10 LivingEntity (net.minecraft.world.entity.LivingEntity)10 CancelReason (net.citizensnpcs.api.ai.event.CancelReason)9 EntityHumanNPC (net.citizensnpcs.nms.v1_10_R1.entity.EntityHumanNPC)9 EntityHumanNPC (net.citizensnpcs.nms.v1_14_R1.entity.EntityHumanNPC)9 EntityHumanNPC (net.citizensnpcs.nms.v1_15_R1.entity.EntityHumanNPC)9 EntityHumanNPC (net.citizensnpcs.nms.v1_17_R1.entity.EntityHumanNPC)9 EntityHumanNPC (net.citizensnpcs.nms.v1_18_R2.entity.EntityHumanNPC)9 EntityHumanNPC (net.citizensnpcs.nms.v1_8_R3.entity.EntityHumanNPC)8 Entity (net.minecraft.world.entity.Entity)8 EntityHumanNPC (net.citizensnpcs.nms.v1_11_R1.entity.EntityHumanNPC)7 EntityHumanNPC (net.citizensnpcs.nms.v1_16_R3.entity.EntityHumanNPC)7 MCNavigator (net.citizensnpcs.npc.ai.MCNavigationStrategy.MCNavigator)7