NegiLib Settings Guide
plugins/NegiLib/config.yml is the configuration file of NegiLib 1.1.1, EasyMenu's rendering foundation.
It is a separate file from EasyMenu's own plugins/EasyMenu/config.yml. In most environments you never need to change it.
NegiLib's config.yml is read at server startup. /menu reload does not re-read it.
Restart the server after changing it. Only the contents of resource-packs can be re-parsed with /negilib reload (see below).
Default Settings
debug: false
resource-packs: []
appearance-workers: 2
java-pack-url: ""
java-pack-sha1: ""
bedrock:
rich-ui: auto
| Key | Type | Default | Description |
|---|---|---|---|
debug | Boolean | false | Logs renderer selection and session events. |
resource-packs | Text list | [] | Resource pack layers used to resolve item images. |
appearance-workers | Integer | 2 | Threads used to parse and generate item images. |
java-pack-url | Text | "" | URL where the generated Java pack is hosted. |
java-pack-sha1 | Text | "" | SHA-1 (40 hex digits) of that pack. |
bedrock.rich-ui | Text | auto | Whether Bedrock Rich UI may be used: auto or off. |
debug
When true, the log shows which renderer was selected when a menu opened, session start and end, rejected interactions, and similar events.
Enable it only while investigating behavior.
It is separate from EasyMenu's own debug in plugins/EasyMenu/config.yml.
resource-packs
Lists extra resource packs that NegiLib consults when resolving item images (icons). Do not confuse this with the server resource pack: NegiLib itself reads these to compose item images.
resource-packs:
- packs/base.zip
- packs/my-custom-textures
- Each entry is a path relative to
plugins/NegiLib/. A ZIP file or a folder is accepted. - Later entries have higher priority.
- A path that points outside
plugins/NegiLib/(using.., for example) is rejected and an error is logged. - Pack loading has limits (100,000 files, 512 MiB uncompressed in total, 32 MiB per file, 4096 px image sides, and so on). A pack over a limit is rejected and the previous state is kept.
- With nothing listed (empty), vanilla items still display in their standard form.
After changing the contents of a listed pack, re-parse it without a restart using /negilib reload (run as a player; requires negilib.admin). A new pack becomes active only when it parses completely.
appearance-workers
The number of background threads that parse and generate item images. They run separately from menu click handling and the main thread.
The default 2 is usually fine. Raise it if the first display is slow in an environment with very many custom icons. A value below 1 is treated as 1.
java-pack-url / java-pack-sha1
To show custom item images to Java clients, NegiLib builds a generated Java resource pack (plugins/NegiLib/generated/negilib-java.zip).
To deliver it to players, you host that ZIP over HTTP(S) and set the URL. NegiLib does not serve the file itself.
java-pack-url: "https://example.com/negilib-java.zip"
java-pack-sha1: "0123456789abcdef0123456789abcdef01234567"
java-pack-urlmust be an absolute URL starting withhttporhttps. An invalid value logs a warning and disables pack delivery.java-pack-sha1is the SHA-1 of the ZIP you hosted. If it is not 40 hex digits, a warning is logged and delivery waits until the generated pack revision is known.- When the generated pack changes, NegiLib re-sends the updated pack to online players.
- A custom item image is used only for a player who has applied the pack at the current revision. Otherwise NegiLib switches to a verified standard display or a text-only label.
- This setting is optional. Left empty, NegiLib sends no pack. Leave it empty if your server or proxy distributes the pack by another mechanism.
bedrock.rich-ui
Decides whether Rich UI for Bedrock players is allowed.
| Value | Behavior |
|---|---|
auto (default) | Registers the Rich UI pack for new Bedrock connections through Geyser. |
off | Rich UI is not used. The plain Bedrock form (SimpleForm) is always shown. |
Any value other than off behaves like auto.
This does not change a menu's own presentation mode (presentation.mode and so on). A menu that stays inventory never uses Rich UI, even with auto. See the Bedrock / Geyser / Rich UI Guide.
The Two Packs Compared
NegiLib handles two different packs for different purposes.
| Java resource pack | Bedrock Rich UI pack | |
|---|---|---|
| Purpose | Show custom item images to Java clients | Show the Rich UI screen to Bedrock clients |
| Contents | A Java resource pack containing generated item images (negilib-java.zip) | A resource pack defining Bedrock JSON UI (negilib-bedrock-ui.mcpack, current revision negilib-rich-ui-v11) |
| Delivery | You host it at a URL and set java-pack-url / java-pack-sha1 | Delivered automatically through Geyser session registration; no setup |
| Settings | java-pack-url, java-pack-sha1, resource-packs | bedrock.rich-ui |
| To disable | Leave java-pack-url empty | bedrock.rich-ui: off |
resource-packs is neither of the above; it adds source material for building item images.
Registering the Rich UI pack does not confirm that a client displays it correctly. Check on each device (Bedrock guide).