Saltearse al contenido

Módulo NPC

Paquete: dev.blancocl · Datos: plugins/CoreBau/npc/

NPCs persistentes basados en packetevents. Soportan skins de Mojang, hologramas (DecentHolograms / HolographicDisplays), animaciones, y acciones (conectar a servidor, ejecutar comando, etc.).

Comando raíz

/npc (alias: /npcs, /lobbynpc). Permiso base: npc.command.use.

SubcomandoPermisoDescripción
/npc createnpc.command.createCrea un NPC en tu ubicación.
/npc editnpc.command.editEdita propiedades de un NPC existente.
/npc removenpc.command.removeElimina un NPC.
/npc listnpc.command.listLista todos los NPCs.
/npc tpnpc.command.tpTP al NPC.
/npc movenpc.command.moveMueve un NPC a tu ubicación.
/npc skinnpc.command.skinCambia la skin (nombre Mojang).
/npc hologramnpc.command.hologramEdita el holograma asociado.
/npc animationnpc.command.animationReproduce / asigna animaciones.
/npc servernpc.command.serverAsigna acción de conectar a un backend.
/npc reloadnpc.command.reloadRecarga config.yml, messages.yml, npcs.yml.
/npc migratenpc.command.migrateMigra entre backends de persistencia (YAML ↔ MySQL).

Config principal

npc/config.yml
persistence:
backend: yaml # yaml | mysql
mysql:
host: localhost
port: 3306
database: npcs
user: npc
password: ""
velocity:
enabled: true
channel: "bungeecord:main"
skin:
fallback: "MHF_Steve"
preload: [] # nombres a precachear al arrancar
integrations:
placeholderapi: true
luckperms: true
metrics: true
debug:
enabled: false

Persistencia

  • YAML (default): npcs.yml en la carpeta del módulo.
  • MySQL: se conecta con HikariCP. La migración entre ambos se hace con /npc migrate.

Placeholders del módulo

Registrados por dev.blancocl.integration.papi.NpcExpansion (%npc_%):

PlaceholderDevuelve
%npc_count%Número de NPCs registrados.
%npc_server_count_<name>%Conteo cacheado del backend <name> (vía proxy).
%npc_proxy_detected%true / false.

Acciones soportadas

  • ConnectAction — usa el canal definido en velocity.channel (bungeecord:main por defecto, compatible con BungeeCord/Velocity).
  • CommandAction — ejecuta un comando como el jugador o consola.
  • MessageAction — envía MiniMessage al jugador.

Cada NPC se serializa con su NpcSnapshotJson que incluye posición, skin, hologramas y la lista de acciones por tipo de click.