Skip to main content

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.

When changes apply

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​

plugins/NegiLib/config.yml
debug: false
resource-packs: []
appearance-workers: 2
java-pack-url: ""
java-pack-sha1: ""

bedrock:
rich-ui: auto
KeyTypeDefaultDescription
debugBooleanfalseLogs renderer selection and session events.
resource-packsText list[]Resource pack layers used to resolve item images.
appearance-workersInteger2Threads used to parse and generate item images.
java-pack-urlText""URL where the generated Java pack is hosted.
java-pack-sha1Text""SHA-1 (40 hex digits) of that pack.
bedrock.rich-uiTextautoWhether 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-url must be an absolute URL starting with http or https. An invalid value logs a warning and disables pack delivery.
  • java-pack-sha1 is 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.

ValueBehavior
auto (default)Registers the Rich UI pack for new Bedrock connections through Geyser.
offRich 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 packBedrock Rich UI pack
PurposeShow custom item images to Java clientsShow the Rich UI screen to Bedrock clients
ContentsA 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)
DeliveryYou host it at a URL and set java-pack-url / java-pack-sha1Delivered automatically through Geyser session registration; no setup
Settingsjava-pack-url, java-pack-sha1, resource-packsbedrock.rich-ui
To disableLeave java-pack-url emptybedrock.rich-ui: off

resource-packs is neither of the above; it adds source material for building item images.

Rich UI pack rendering is unverified

Registering the Rich UI pack does not confirm that a client displays it correctly. Check on each device (Bedrock guide).