promotional bannermobile promotional banner

NexusAI

Async AI bridge for Paper via PlaceholderAPI: unique answer pools, TTL cache, prewarm.
Back to Files

NexusAI 1.3.1

File nameNexusAI-1.3.1.jar
Uploader
NearestStepNearestStep
Uploaded
Oct 26, 2026
Downloads
8
Size
4.2 MB
File ID
9331532
Type
R
Release
Supported game versions
  • 26.3
  • 26.2
  • 26.1.2
  • 26.1.1
  • 26.1
  • 1.21.11
  • 1.21.10
  • 1.21.9
  • 1.21.8
  • 1.21.7
  • 1.21.6
  • 1.21.5
  • 1.21.4
  • 1.21.3
  • 1.21.1
  • 1.21
  • 1.20.6

What's new

Bug-fix release. On Paper 26.2, dialogue-memory.yml could stop saving entirely, and a lone UTF-16 surrogate (often an emoji cut in half) could block saves of dialogue memory and pool.yml. Both are fixed, plus event delivery and a cleaner server stop. The startup-banner option is back. Everyone on 1.3.0 or 1.2.x can update. Missing keys are appended to config.yml automatically, it stays at config-version: 2, and NexusAIApi.API_VERSION stays 3.

Upgrading

  • Replace the old jar with NexusAI-1.3.1.jar and restart. Commands, placeholders and the API are unchanged.
  • From 1.3.0, three keys are appended on the first start: startup-banner, context.log-timeouts and dialogue.log-stop-budget (all true, one config.yml.bak). From 1.2.x, 22 keys are appended. Details are in docs/migration-1.3.1.md.

Changes

  • startup-banner is a boolean again. true (default) prints the full console banner as in 1.3.0; false logs one line instead: NexusAI enabled. Ready in N ms.
  • A context provider that overruns its timeout now logs one INFO line (rate-limited per provider). Turn it off with context.log-timeouts: false.
  • A stop that runs during the first load of dialogue-memory.yml logs one INFO line with the stop budget and how many dialogue characters were saved. Turn it off with dialogue.log-stop-budget: false.
  • Documentation: new sections in docs/limitations.md (world context cost, context provider timeouts) and docs/faq.md (dialogue memory stop budget, Java 25 for every 26.x server).

Fixed

  • Paper 26.2 (SnakeYAML 2.6): dialogue-memory.yml was not saved at all while memory held text with U+2028, U+2029, U+0085, \r or another control character, so the session's dialogue was lost. Such text is now written with escapes, as on older Paper versions.
  • Lone UTF-16 surrogates: a half-cut emoji or similar character stopped every save of dialogue-memory.yml and pool.yml. Length cuts now keep surrogate pairs whole, and a lone surrogate is stored as U+FFFD. The same fix covers moderation.log, actions.log, usage.yml, token-usage.yml, provider and model names, and /nai import.
  • A failed dialogue memory save now logs a WARNING (without dialogue text) instead of a FINE line, and leaves the file as it was.
  • \r\n and lone \r in replies and greetings are stored as \n.
  • /nai import no longer copies ? id lines into the prompt above, so prompts.yml does not get duplicate ids.
  • NexusPostGenerateEvent and NexusGenerateFailEvent for placeholder requests are no longer dropped when the reply was already complete.
  • A NexusAI event that Bukkit refuses to deliver is now logged at WARNING (rate-limited) instead of being dropped silently.
  • Server stop with requests still waiting for the provider: open requests are cancelled at once, with one INFO line, and no more AI completion handler failed or Failed to schedule a command result errors. Stop no longer waits up to 7 s.
  • Singular wording in dialogue memory log lines for a count of one.

Most of these problems are also present in 1.3.0, so updating is recommended.

Compatibility

  • Paper and Purpur 1.20.6–26.3; Folia 1.21.8, 1.21.11, 26.1.2 and 26.2; Java 21 or newer (Java 25 on 26.x)
  • PlaceholderAPI 2.11.6+ (soft-depend); on Folia 2.11.7+
  • Spigot and CraftBukkit are not supported.

Download

NexusAI-1.3.1.jar, SHA-256 c5336378c8fa54993abf7f1e28faf535e12a60b6c7a039e520c993fac00f0e50

Full history: CHANGELOG.md

This mod has no additional files