Class InteractableNPC

java.lang.Object
net.minestom.server.entity.Entity
net.minestom.server.entity.LivingEntity
net.minestom.server.entity.EntityCreature
net.slommy.entities.InteractableNPC
All Implemented Interfaces:
net.kyori.adventure.identity.Identified, net.kyori.adventure.pointer.Pointered, net.kyori.adventure.sound.Sound.Emitter, net.kyori.adventure.text.event.HoverEventSource<net.kyori.adventure.text.event.HoverEvent.ShowEntity>, net.minestom.server.collision.Shape, net.minestom.server.component.DataComponent.Holder, net.minestom.server.entity.ai.EntityAI, net.minestom.server.entity.pathfinding.NavigableEntity, net.minestom.server.event.EventHandler<net.minestom.server.event.trait.EntityEvent>, net.minestom.server.inventory.EquipmentHandler, net.minestom.server.snapshot.Snapshotable, net.minestom.server.tag.Taggable, net.minestom.server.tag.TagReadable, net.minestom.server.tag.TagWritable, net.minestom.server.thread.AcquirableSource<net.minestom.server.entity.Entity>, net.minestom.server.Tickable, net.minestom.server.timer.Schedulable, net.minestom.server.Viewable

public class InteractableNPC extends net.minestom.server.entity.EntityCreature
Represents a player mannequin NPC that can run code upon player interaction
  • Field Summary

    Fields inherited from class net.minestom.server.entity.LivingEntity

    canPickupItem, expandedBoundingBox, invulnerable, isDead, itemPickupCooldown, lastDamage, PROTECTED_MODIFIERS

    Fields inherited from class net.minestom.server.entity.Entity

    boundingBox, collidesWithEntities, currentChunk, ENTITY_POINTERS_SUPPLIER, entityMeta, entityType, gravityTickCount, hasPhysics, headRotation, instance, lastSyncedPosition, lastVelocityWasZero, metadata, onGround, position, preventBlockPlacement, previousPosition, removed, trackingUpdate, vehicle, velocity, viewEngine, viewers
  • Constructor Summary

    Constructors
    Constructor
    Description
    InteractableNPC(net.kyori.adventure.text.Component displayName, String skinUsername, Consumer<net.minestom.server.entity.Player> interactHandler)
    Creates an interactable NPC as a mannequin.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    interact(net.minestom.server.entity.Player interactor)
     

    Methods inherited from class net.minestom.server.entity.EntityCreature

    acquirable, attack, attack, getAIGroups, getNavigator, getRemovalAnimationDelay, getTarget, kill, setInstance, setRemovalAnimationDelay, setTarget, update

    Methods inherited from class net.minestom.server.entity.LivingEntity

    canPickupItem, damage, damage, enterBed, getArrowCount, getAttribute, getAttributes, getAttributeValue, getEquipment, getFireTicks, getHealth, getLastDamageSource, getLivingEntityMeta, getPropertiesPacket, getTargetBlockPosition, getTeam, heal, isDead, isFlyingWithElytra, isImmune, isInvulnerable, leaveBed, onAttributeChanged, refreshActiveHand, refreshIsDead, setArrowCount, setBoundingBox, setCanPickupItem, setEquipment, setFireTicks, setFlyingWithElytra, setHealth, setInvulnerable, setSprinting, setTeam, shouldSendAttributes, swingMainHand, swingMainHand, swingOffHand, swingOffHand, takeKnockback, updateEquipmentAttributes, updateNewViewer

    Methods inherited from class net.minestom.server.entity.Entity

    addEffect, addPassenger, addViewer, asHoverEvent, autoViewEntities, clearEffects, despawn, editEntityMeta, eventNode, generateId, get, getAcquirable, getActiveEffects, getAerodynamics, getAliveTicks, getAttachEntityPacket, getBoundingBox, getChunk, getCustomName, getDistance, getDistance, getDistanceSquared, getDistanceSquared, getEffect, getEffectLevel, getEntityId, getEntityMeta, getEntityType, getEyeHeight, getGravityTickCount, getHeadRotation, getInstance, getLeashedEntities, getLeashHolder, getLineOfSight, getLineOfSightEntity, getMetadataPacket, getPassengers, getPassengersPacket, getPose, getPosition, getPreviousPosition, getSpawnPacket, getSynchronizationTicks, getUuid, getVehicle, getVelocity, getVelocityForPacket, getVelocityPacket, getViewers, hasEffect, hasEntityCollision, hasLineOfSight, hasLineOfSight, hasNoGravity, hasPassenger, hasPhysics, hasPredictableViewers, hasVelocity, identity, intersectBox, intersectBoxSwept, isActive, isAutoViewable, isCustomNameVisible, isGlowing, isInvisible, isOccluded, isOnFire, isOnGround, isRemoved, isSilent, isSneaking, isSprinting, lookAt, lookAt, movementTick, pointers, preventBlockPlacement, refreshCoordinate, refreshCurrentChunk, refreshPosition, refreshPosition, refreshPosition, relativeEnd, relativeStart, remove, remove, removeEffect, removePassenger, removeViewer, scheduleNextTick, scheduler, scheduleRemove, scheduleRemove, set, setAerodynamics, setAutoViewable, setAutoViewEntities, setBoundingBox, setCustomName, setCustomNameVisible, setGlowing, setHasPhysics, setInstance, setInstance, setInvisible, setLeashHolder, setNoGravity, setPose, setPositionInternal, setSilent, setSneaking, setSynchronizationTicks, setVelocity, setView, setView, spawn, switchEntityType, synchronizeNextTick, synchronizePosition, tagHandler, teleport, teleport, teleport, teleport, teleport, teleport, tick, triggerStatus, updateCollisions, updateOldViewer, updatePose, updateSnapshot, updateViewableRule, updateViewableRule, updateViewerRule, updateViewerRule

    Methods inherited from class Object

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

    Methods inherited from interface net.minestom.server.component.DataComponent.Holder

    get, has

    Methods inherited from interface net.minestom.server.entity.ai.EntityAI

    addAIGroup, addAIGroup, aiTick

    Methods inherited from interface net.minestom.server.inventory.EquipmentHandler

    getBodyEquipment, getBoots, getChestplate, getEquipmentsPacket, getHelmet, getItemInHand, getItemInMainHand, getItemInOffHand, getLeggings, hasEquipment, setBodyEquipment, setBoots, setChestplate, setHelmet, setItemInHand, setItemInMainHand, setItemInOffHand, setLeggings, syncEquipment, syncEquipment

    Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource

    asHoverEvent

    Methods inherited from interface net.kyori.adventure.pointer.Pointered

    get, getOrDefault, getOrDefaultFrom

    Methods inherited from interface net.minestom.server.collision.Shape

    intersectEntity, isFaceFull

    Methods inherited from interface net.minestom.server.tag.Taggable

    getAndSetTag, getAndUpdateTag, getTag, hasTag, removeTag, setTag, updateAndGetTag, updateTag

    Methods inherited from interface net.minestom.server.Viewable

    getViewersAsAudience, getViewersAsAudiences, isViewer, sendPacketsToViewers, sendPacketsToViewers, sendPacketToViewers, sendPacketToViewersAndSelf
  • Constructor Details

    • InteractableNPC

      public InteractableNPC(net.kyori.adventure.text.Component displayName, String skinUsername, Consumer<net.minestom.server.entity.Player> interactHandler)
      Creates an interactable NPC as a mannequin. Takes a lambda function upon initialization to define behavior upon interaction from a player.
      Parameters:
      interactHandler - The method handler for player interaction.
  • Method Details

    • interact

      public void interact(net.minestom.server.entity.Player interactor)