Content generated with AI — it may contain mistakes.

Getting started

Installation

Downloading the plugin, packetevents and ExyliaLib, the files the first start writes, switching modules off, and how updates arrive.

Downloading

ExyliaDisplays is free. Every release is published on Modrinth as ExyliaDisplays-<version>.jar.

Before you start

PluginWhat for
packeteventsRequired, a hard depend: the plugin does not load without it.
ExyliaLibRequired. Holograms, NPCs, line tags, click lines, screens and dialog windows. The 2.4.0 jar runs on 1.299.0 or newer.
PlaceholderAPIOptional. Its placeholders work in lines, labels and actions.
DecentHolograms, HolographicDisplays, FancyHolograms, Citizens, FancyNpcsOptional. Only read by the imports; listed as soft dependencies so they load first while you move.
ExyliaLib is listed as soft, and installs itself

plugin.yml names ExyliaLib under softdepend so the plugin can still start without it. When it is missing, ExyliaDisplays downloads the latest ExyliaLib release (falling back to the one it was built against) into plugins/ExyliaLib.jar on a thread of its own, says so in the console, and stays disabled until you restart. When an ExyliaLib jar is already in plugins/ but failed to load, nothing is downloaded: the console asks you to fix the library's errors first.

Installing

Drop in the jars

Copy ExyliaDisplays.jar and packetevents into plugins/.

Start the server

Without ExyliaLib, the first start downloads it and asks for a restart. Restart once.

Check the console

You should see ExyliaDisplays enabled: holograms, npcs, the modules that started.

Open the screens

With exyliadisplays.admin, run /holoadmin or /npcadmin. See First steps.

Coming from ExyliaHolograms

Remove the old ExyliaHolograms jar. Both would draw every hologram. ExyliaDisplays copies plugins/ExyliaHolograms/holograms.yml on its first start and warns in the console while the old plugin is still installed. See Migration.

Generated files

All of them live in plugins/ExyliaDisplays/.

FileContents
config.ymlDebug, file watching, which modules run, and each module's defaults and presets. See Configuration.
holograms.ymlEvery hologram, by name. See File reference.
npcs.ymlEvery NPC, by name.
lang/<code>/messages.ymlThe prefix and the /displays messages.
lang/<code>/messages/holograms.ymlEvery hologram message, the dialog window words and the help.
lang/<code>/messages/npcs.ymlEvery NPC message, the speech bubble format and the help.
lang/<code>/menus/admin/The six screens: hologram_list, hologram_hub, hologram_lines, npc_list, npc_hub, npc_equipment.

<code> is the language ExyliaLib runs in. The plugin ships English, Spanish (es) and Russian (ru); it has no language key of its own.

menus/admin/ is rewritten

The six screens are replaced from the jar on every start. Their header says "DO NOT EDIT — REGENERATED ON EVERY STARTUP". Edits to them are lost.

There is no database: holograms and NPCs live in their YAML files, which is also why copying the folder copies everything.

Switching a module off

config.yml lists the modules:

plugins/ExyliaDisplays/config.yml
modules:
  holograms: true
  npcs: true

A module set to false does not start: no file, no commands, no screens. A module the file does not name runs. The change needs a restart; /displays reload does not start or stop modules. With the hologram module off, NPCs still work, but /npc <name> link refuses because there are no holograms to link.

A module that fails while starting is switched off for that run and named in the console; the other one keeps going.

Updating

ExyliaLib keeps ExyliaDisplays up to date. plugin.yml names the GitHub repository (exylia-updates: Exylia-Plugins/ExyliaDisplays) and the oldest library it runs on (exylia-lib); ExyliaLib checks for a newer release, downloads it and applies it on the next restart.

  • A new major version is announced and left for you to install.
  • A release that needs a newer ExyliaLib waits until the library has updated.
  • /exylialib updates shows what is pending. plugin-updates in plugins/ExyliaLib/config.yml turns it off or tunes it.

To update by hand, replace the jar and restart. config.yml, the messages, holograms.yml and npcs.yml keep your edits; menus/admin/ is refreshed from the jar.

Something missing on this page? Tell us on Discord