Class CommonNpc<W,P,I,E>

java.lang.Object
com.github.juliarn.npclib.common.flag.CommonNpcFlaggedObject
com.github.juliarn.npclib.common.npc.CommonNpc<W,P,I,E>
All Implemented Interfaces:
com.github.juliarn.npclib.api.flag.NpcFlaggedObject, com.github.juliarn.npclib.api.Npc<W,P,I,E>

public class CommonNpc<W,P,I,E> extends CommonNpcFlaggedObject implements com.github.juliarn.npclib.api.Npc<W,P,I,E>
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.github.juliarn.npclib.api.Npc

    com.github.juliarn.npclib.api.Npc.Builder<W,P,I,E>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final int
     
    protected final Set<P>
     
    protected final com.github.juliarn.npclib.api.settings.NpcSettings<P>
     
    protected final com.github.juliarn.npclib.api.Platform<W,P,I,E>
     
    protected final com.github.juliarn.npclib.api.Position
     
    protected final com.github.juliarn.npclib.api.profile.Profile.Resolved
     
    protected final Set<P>
     
    protected final W
     

    Fields inherited from class com.github.juliarn.npclib.common.flag.CommonNpcFlaggedObject

    flags

    Fields inherited from interface com.github.juliarn.npclib.api.Npc

    HIT_WHEN_PLAYER_HITS, LOOK_AT_PLAYER, SNEAK_WHEN_PLAYER_SNEAKS
  • Constructor Summary

    Constructors
    Constructor
    Description
    CommonNpc(@NotNull Map<com.github.juliarn.npclib.api.flag.NpcFlag<?>,Optional<?>> flags, int entityId, com.github.juliarn.npclib.api.profile.Profile.Resolved profile, W world, @NotNull com.github.juliarn.npclib.api.Position pos, @NotNull com.github.juliarn.npclib.api.Platform<W,P,I,E> platform, @NotNull com.github.juliarn.npclib.api.settings.NpcSettings<P> npcSettings)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E>
     
    @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E>
    changeItem(@NotNull com.github.juliarn.npclib.api.protocol.enums.ItemSlot slot, I item)
     
    <T, O> @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E>
    changeMetadata(@NotNull com.github.juliarn.npclib.api.protocol.meta.EntityMetadataFactory<T,O> metadata, T value)
     
    int
     
    boolean
     
    @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E>
     
    int
     
    @UnmodifiableView @NotNull Collection<P>
     
    boolean
    includesPlayer(P player)
     
    @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E>
    lookAt(@NotNull com.github.juliarn.npclib.api.Position position)
     
    @NotNull com.github.juliarn.npclib.api.NpcTracker<W,P,I,E>
     
    @NotNull com.github.juliarn.npclib.api.Platform<W,P,I,E>
     
    @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E>
    playAnimation(@NotNull com.github.juliarn.npclib.api.protocol.enums.EntityAnimation animation)
     
    @NotNull com.github.juliarn.npclib.api.Position
     
    com.github.juliarn.npclib.api.profile.Profile.Resolved
     
    @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E>
     
    @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E>
    rotate(float yaw, float pitch)
     
    @NotNull com.github.juliarn.npclib.api.settings.NpcSettings<P>
     
    boolean
     
    @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E>
     
    @UnmodifiableView @NotNull Collection<P>
     
    @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E>
    trackPlayer(P player)
     
    boolean
    tracksPlayer(P player)
     
    @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E>
     
     

    Methods inherited from class com.github.juliarn.npclib.common.flag.CommonNpcFlaggedObject

    flagValue, flagValue

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.github.juliarn.npclib.api.flag.NpcFlaggedObject

    flagValue, flagValue, flagValueOrDefault
  • Field Details

    • entityId

      protected final int entityId
    • profile

      protected final com.github.juliarn.npclib.api.profile.Profile.Resolved profile
    • world

      protected final W world
    • pos

      protected final com.github.juliarn.npclib.api.Position pos
    • platform

      protected final com.github.juliarn.npclib.api.Platform<W,P,I,E> platform
    • npcSettings

      protected final com.github.juliarn.npclib.api.settings.NpcSettings<P> npcSettings
    • trackedPlayers

      protected final Set<P> trackedPlayers
    • includedPlayers

      protected final Set<P> includedPlayers
  • Constructor Details

    • CommonNpc

      public CommonNpc(@NotNull @NotNull Map<com.github.juliarn.npclib.api.flag.NpcFlag<?>,Optional<?>> flags, int entityId, @NotNull com.github.juliarn.npclib.api.profile.Profile.Resolved profile, @NotNull W world, @NotNull @NotNull com.github.juliarn.npclib.api.Position pos, @NotNull @NotNull com.github.juliarn.npclib.api.Platform<W,P,I,E> platform, @NotNull @NotNull com.github.juliarn.npclib.api.settings.NpcSettings<P> npcSettings)
  • Method Details

    • entityId

      public int entityId()
      Specified by:
      entityId in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • profile

      @NotNull public com.github.juliarn.npclib.api.profile.Profile.Resolved profile()
      Specified by:
      profile in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • world

      @NotNull public W world()
      Specified by:
      world in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • position

      @NotNull public @NotNull com.github.juliarn.npclib.api.Position position()
      Specified by:
      position in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • settings

      @NotNull public @NotNull com.github.juliarn.npclib.api.settings.NpcSettings<P> settings()
      Specified by:
      settings in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • platform

      @NotNull public @NotNull com.github.juliarn.npclib.api.Platform<W,P,I,E> platform()
      Specified by:
      platform in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • npcTracker

      @NotNull public @NotNull com.github.juliarn.npclib.api.NpcTracker<W,P,I,E> npcTracker()
      Specified by:
      npcTracker in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • shouldIncludePlayer

      public boolean shouldIncludePlayer(@NotNull P player)
      Specified by:
      shouldIncludePlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • includedPlayers

      @NotNull public @UnmodifiableView @NotNull Collection<P> includedPlayers()
      Specified by:
      includedPlayers in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • includesPlayer

      public boolean includesPlayer(@NotNull P player)
      Specified by:
      includesPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • addIncludedPlayer

      @NotNull public @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E> addIncludedPlayer(@NotNull P player)
      Specified by:
      addIncludedPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • removeIncludedPlayer

      @NotNull public @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E> removeIncludedPlayer(@NotNull P player)
      Specified by:
      removeIncludedPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • unlink

      @NotNull public @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E> unlink()
      Specified by:
      unlink in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • trackedPlayers

      @NotNull public @UnmodifiableView @NotNull Collection<P> trackedPlayers()
      Specified by:
      trackedPlayers in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • tracksPlayer

      public boolean tracksPlayer(@NotNull P player)
      Specified by:
      tracksPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • trackPlayer

      @NotNull public @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E> trackPlayer(@NotNull P player)
      Specified by:
      trackPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • forceTrackPlayer

      @NotNull public @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E> forceTrackPlayer(@NotNull P player)
      Specified by:
      forceTrackPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • stopTrackingPlayer

      @NotNull public @NotNull com.github.juliarn.npclib.api.Npc<W,P,I,E> stopTrackingPlayer(@NotNull P player)
      Specified by:
      stopTrackingPlayer in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • rotate

      @NotNull public @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E> rotate(float yaw, float pitch)
      Specified by:
      rotate in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • lookAt

      @NotNull public @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E> lookAt(@NotNull @NotNull com.github.juliarn.npclib.api.Position position)
      Specified by:
      lookAt in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • playAnimation

      @NotNull public @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E> playAnimation(@NotNull @NotNull com.github.juliarn.npclib.api.protocol.enums.EntityAnimation animation)
      Specified by:
      playAnimation in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • changeItem

      @NotNull public @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E> changeItem(@NotNull @NotNull com.github.juliarn.npclib.api.protocol.enums.ItemSlot slot, @NotNull I item)
      Specified by:
      changeItem in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • changeMetadata

      @NotNull public <T, O> @NotNull com.github.juliarn.npclib.api.protocol.NpcSpecificOutboundPacket<W,P,I,E> changeMetadata(@NotNull @NotNull com.github.juliarn.npclib.api.protocol.meta.EntityMetadataFactory<T,O> metadata, @NotNull T value)
      Specified by:
      changeMetadata in interface com.github.juliarn.npclib.api.Npc<W,P,I,E>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object